The answer to your question is the 6gb of DDR2-667 if there's no overclocking. The difference between the 667 and 800 is that the 800 will allow the CPU to be overclocked further without having to overclock the RAM.
Talking about the speed of the RAM itself, then you need to look at it's timings: 4-4-4-12 is faster than 5-5-5-15, for example.
So to reword your question a little, I would probably take 6GB of 5-5-5-15 over 4GB of 4-4-4-12.
EDIT: I would likely take the 6GB just because the performance difference between 4-4-4-12 and 5-5-5-15 is minor and I often have lots of crap running in the background.
^yea it all depends on what your doing. If you are running a lot of background apps then more ram could be benificial, but if it is just gaming then you probably wont see any difference between the 4 gigs and the 6 gigs
Yep they'll all turn to 667 and whatever the 'slowest' timings are. I'd go for it unless the ram is ridiculously slow, such as 7-7-7-21 or something. Most likely it's 5-5-5-15 or 18 which should be fine. The 667 vs 800 won't have any impact on you unless you get into overclocking.