In terms of CPU, neither will make a big enough difference in gaming compared to each other. Maybe 5% difference or so.
The Q6600 is $190 and will overclock better than the Q9300 ($245)
The Q6700 is $278. Out of the three, I think the Q6700 is the best, but also the most expensive. If you plan on overclocking, the Q6600 might be the best choice.
Now, I am not sure if the GPU will bottleneck the CPU. Maybe the extra $$$ spent on a better/faster CPU, may not even make any improvements on your games.
The 4850 is a very good card and probably the best for the money.
The RAM seems good, but Sammorris recommended this to me saying it is fantastic:
I'd recommend pulling a bit of money out of the CPU, going with the Q6600 OC'd at 3.0Ghz+ and putting that money towards the 4870 instead of the 4850. Your GPU will limit you more than your CPU. Also depends on what resolution you are running at as well.
I am not sure if pushing past 3GHz is a lot for the Q6600. If it is, then I would recommend Ultra120. Otherwise, the $35 savings from the Tuniq will save you on the 4870 or if you decide on crossfire, 2x4850.