At the size the cache is, it really won't make that much of a difference.
Since it's actually 4mb (x2=8mb) per dual cores for the Q6600, and 3mb (x2=6mb) per dual cores for the Q9300, its actually 1mb difference per dual cores, since it's 2 dual cores stuck in one package.
Running it stock only, the Q9300 (higher clock speed) will out do the Q6600. So that is a no brainer. OC'ing it however, the Q6600 will do better on the higher end (Running DDR2 800 advertised speed), since OC'er are hindered by the Q9300 low multiplier.
Old article when the newer yorkies work coming out had a comparison for the Q9300 vs Q6600:
Q6600 now, with the intention of OC'ing it, if you want to build a system now.
If you want to stay with the 775 socket, I'd wait for the Q9550 prices to come down, or if the price is more attractive for the Q9300, and if 3ghz OC will suit you fine, then wait for that might be something for ya.
As for the i7, you will need a new MB for that, and perhaps if you want to run DDR3 memory, even though the price on that i7 chip might be attractive as well. I only mention Nehalem, since that chip may push the other prices down.
It really just boils down to how much you want to spend, and how much time your willing to wait.