It depends on the model that you are considering,DDR2 1066 RAMs "Mostly" have worse timings than DDR2 800 RAMs,the difference isn't really much,but i would go for a
DDR2 800 RAM with CL4 timings because i prefer lower timings than higher Mhz,but if you tell us the models you are considering we could help you more
Unless CL5 DDR2 1066 costs about the same, go for CL4 DDR2 800.
CL4 DDR2 800 and CL5 DDR2 1066 both access data at nearly the exact same speed and, as your FSB will only be at 357Mhz @ 3.93Ghz, DDR2 800 will have more than enough overclocking headroom for you.
Heck, if your CPU could handle it you could take your FSB to 400Mhz, giving you a 4.4Ghz CPU, without even needing to overclock the DDR2 800.
Pushing the timings from CL5 to CL4 is by no means a sure thing.
Doing so would essentially overclock your RAM and it may become unstable.
From the two choices you list, I would probably spend the extra $8 for the DDR2 1066.
It will be slightly faster and is priced within spitting distance of the DDR2 800.
I think a better choice would be between This ($85.99) and This ($75.99 after $25 MIR) set of CL4 DDR2 800 and your above listed DDR2 1066.
They will all give you similar performance.
Personally, I would go for one of the less expensive DDR2 800 kits, set the FSB at 400Mhz and drop the multiplier until the overclock is stable.
This will let you run your RAM at a 1:1 ratio with the FSB, use your motherboards 400Mhz bootstrap and give you a good overclock in the process.