The 8800GTS is really quite capable with only 320mb, for the price I think it's your best option. If you're really stuck on the memory then I would check out the 8800GT w/ 512mb that runs a tad less expensive than the GTS.
Has to be the new 8800GT, no doubt. I got mine for £165 so it is in budget and outperforms both 640 and 320 GTS... Only issue may be finding one in stock!
Definitely the GT, seen what they can do in a couple of builds recently and I'll definitely be adding them to a few more over christmas. Fantastic cards