The whole problem is the BIOS on the computers. It's not just an Apple/PC problem. You can take a PCI video card from a PC, and it will not work in the PCI slot of an Apple, a Sun SPARC, and HP PA-RISC, and IBM RS6000, a DEC/Compaq Alpha, etc. The BIOS basically controls how devices talk to each other and how data is sent from one device to another. Because video is first accessed from a low level before the OS runs, the videocard has to be able to talk to the BIOS. Other cards such as sound/usb/scsi/etc can work on multiple platforms because they are not accessed until the OS is actually running and drivers from the OS access the device directly. You have the same problem with trying to use PC IDE controller cards, they won't work in a mac due to firmware issues.
PC's basically have a standard way they access video devices from boot, which is why everything when a PC boots still looks pretty much the same as it did 10 years ago, the protocol really hasn't changed much. All a videocard has to do in a PC to work is support the protocol. This also limits what a videocard can do from boot because of the set protocol that has been around for ages. Apple's on the otherhand have specific support for video cards built into it's boot firmware (like BIOS) so it's able to do alot more with a videocard on boot. The videocard you stick into the Apple has to have a firmware that supports the command set that the firmware on the Mac has been programmed to support.
Apple could change their hardware platform to support a PC type BIOS for using other video cards, but it would at the same time break support for all existing Apple videocards. So, do you change your entire layout to accomidate new users who want to customize their hardware with cheaper pc parts (a small % of computer users actaully do any upgrades of any type themselves) and at the same time remove support for hardware that your existing users already have? Think making every mac videocard incompatiable with the latest mac would go over very well?
There is also the other problem with allowsing PC cards to be used, there are so damn many of them. One of the things that allows Apple, Sun, SGI, etc to make very stable OS that take great advantage of their hardware is, they control the OS and the hardware. If you have a limited set of hardware to deal with it's much easier to QA everything to make things stable. One of the biggest problems with Windows is it supports tens of thousands of pieces of hardware, which means they have hundreds of thousands of configurations to try to possibly test.
So, you have a choice, remove support for existing hardware while decreasing stabilty of the OS, or keep things the way they are where you pay slightly more for a mac version of a card. Gee, I pick #2. Afterall, you get what you pay for.
Brian