A local store might take parts in for trade to put towards new hardware. Prices are marked higher (I have been wrong before) but you do not have to pay for shipping and you do not have to wait. However, if you do not want to do that then I suggest eBay but remember that you have to pay eBay a percentage to sell. I have found out that it gets pretty close to even between a local place, paying their price plus local tax, compared to buying online, paying for shipping, and paying a fee to eBay.
As the video card, ram, and HD are not proprietary they can go into any Apple/PC. And, as long as you have the drivers for it, you should be able to buy any vid card that you want.
When it comes to stuff like video cards both ATI and nVidia license their chipsets to other companies and so there are multiple brands that use the same chipset. Reliability is mostly the same and sometimes those manufacturers sell versions that are slightly faster. You can save some scratch by buying those if you want.
But, if you need to know you are buying the best you can stick with a retail or "OEM" ATI or nVidia item. The difference between retail and OEM is that the retail is what you would buy if you went to a retail store like BestBuy and bought the product in the colorful box. All accessories and cables and manuals. OEM is gonna be a plain, brown box, sometimes no cables or manual. But, they can be significantly cheaper for the same quality product. They usually come from places like Dell or Compaq when they buy in quantity and they are leftovers from the production run and they sell the lot to a place like Newegg or TigerDirect.
The same thing applies with HDDs. You have retail and OEM. Same difference.
I usually go OEM unless I specifically need something in the retail box or the price is really really close.
As for RAM, make sure it is the same speed as what Apple specifies. Unless you are going to be overclocking your system then RAM rated at a speed is good as any other as it is an actual industry specification. You should not have any problems unless there is an actual defect with the RAM itself. That, right there, is an advantage of a local store as they can check the RAM right there for you.
You can go to Newegg, go to video cards, and search within for what you are looking for.
Also, one last bit, and this is important with DIY upgrades. Be sure to follow proper ESD (electrostatic discharge) safety. You might not think you have a static charge on you but the components are many many times more sensitive and unless you have an ESD strap to dissipate the charge you could kill your new stuffs before you even install it.
Here is an ESD strap from RatShack.
http://www.radioshack.com/product/i...&kw=electrostatic+discharge&parentPage=search
You would connect the other end to your Apple so that you and the Apple are at the same potential (amount of residual voltage on you and the Apple) so there will not be a discharge in either direction. However, when you go to RatShack they will usually have a field kit (this is recommended) which will have an ESD mat and strap. I have one from my work and I lay my PC on it so it is in contact with the mat, and I lay my components on the mat, and I have the wrist strap on, plus the mat will have a cord which I connect to something that goes to ground. Like a pipe or the screw that hold a face plate on a wall socket on (which technically should be to ground). This ensures that everything has the same potential (preferably zero) and therefore no ESD.