for the price difference there is no reason in the world to go lower than the pc6400 ddr2 800......... NONE
There is if the latencies are lower. If they are then DDR2 667 or even DDR2 533 would run
faster with that CPU (not overclocked).
That CPU is running a 1066 FSB with a core clock speed of 267 Mhz. Any RAM faster than 533 Mhz at stock speeds has to wait on the CPU's bus. If the clock cycles are synced then lower speed RAM with lower latenices will will actually perform better.
Again, if he plans on overclocking I'd go with DDR2 667 since it's doubtful he could exceed it's speed with the CPU. If he plans on replacing the CPU in the future then I'd stick with the DDR2 800 or possibly even go to DDR2 1066 depending on the CPU and his motherboards overclocking ability. If there's no difference in latencies then that would be the determining factor and I'd go as high as I could with clock speeds.
Obviously you don't understand why they make different speed RAM. Faster isn't always better.