First off, I think that a 7950GT would be a much better choice for just $50 more. Not too much if you're going to be paying so much for a great card anyway. But unless you're getting NVIDIA for SLI or for future SLI, I'd personally go with an
X1900XT. Great card, and looks to fit into your price range. There are 512MB versions of this card, but I don't see that helping out too much. 256MB should be plenty.
Reasons I prefer the X1900XT over the 7950GT:
1. The 256MB edition is cheaper (really depends on the manufacturer, but the one I posted was)
2. It has twice as many shader pipelines,
AND a higher core clock. That's gonna help out
a lot.
Reasons I'd get the 7950GT instead of the X1900XT:
1. If I demand 512MB of memory (which I don't...but anyways) and want the 512MB X1900XT to fit into my price range.
2. If I don't have
2 adjacent slots in the back of my computer for it to go into: a PCI-E slot for the actual card and just an open slot in the back of your computer for the fan.
3. If I intend on doing SLI now or in the future.
Just take those into consideration before buying. The X1900XT is superior to both the 7900GT and the 7950GT in almost all areas, except for practicalability (I made a new word!). Make sure you have 2 adjacent open slots in the back of your computer before you buy it, and you can't do SLI with these, just Crossfire.
And to answer those other questions, yes: all you need is a free PCI-Express slot (plus another [not PCI-E] slot in the back for the X1900XT fan), and for the manufacturer for the 7950GT I'd go with EVGA, but I don't know for a fact which one's the best. EVGA hasn't let me down so far with my 7800GT, so I'm pleased with them for right now.
Hope this helps a little.