What I suggest for you is NOT to take 8800 GTS 320 MB version. Why? Well, the newer games the more RAM they will take (more ram for newer cards is strongly recommended when playing at high resolutions). I suggest you to take HD2900XT. It's better card for future. Remember this, 8800 GTS 320 MB is high end DX 9 card, not DX 10. When DX 10 will be release 2900XT will do better job on it. ;)
Yes, 2900XT "eats" more power, yes, it's more noisy, but it blows away 8800 GTS 640 MB version and sometimes is better than 8800 GTX. With every 2900XT drivers release its performance increases much. So, take a little more money and go for 2900XT. It's best you can get now.