Why can't graphics cards just have more memory?
Solution 1:
It's not cheap, per se, but it could be done, yes. It'd raise the price of the card, but it could be done.
Question is, though, why bother? If your card isn't fast enough to actually need 4GB of VRAM, it's wasted money, what's the point. You can have as many textures as you like, but unless you can actually pull that 4GB of data through for every single frame, it's wasted.
The more important reason, however, is that in a 32-bit OS, VRAM gets first dibs on the 4GB addressable space. If you have 4GB of VRAM, that leaves precisely nothing for anything else, and your machine wouldn't even boot. Bummer!
Solution 2:
Because it's usually not your run-of-the-mill RAM, it will be high-speed, multi-port and possibly in a very compact size all of which make it more expensive for the manufacturer.
Solution 3:
In addition to RAM price, I suspect the memory controller and cache is designed to us as few bits as possible for addresses. It might prove too slow to use more memory.