Mobo's have 5-10's the space for routing signals, its the PCB thats difficult to make and the pcb that has to fit in pretty much a max of two expansions slots in size and fit a cooler on top. Making memory changable, would increase height of the memory, same with the gpu because both would need sockets.
Likewise gpu's aren't really customisable as much as CPU's. A cpu is generally dual channel, you can put whatever you want in each slot size wise. GPU's have massively more bandwidth, they need 10-12memory chips all connected in essentially 12 channel memory, they only make gddr5 memory in 2 sizes afaik and the capacity is pretty much determined by how many chips a gpu can support.
A 480gtx can't use 1GB memory, it can use 768 or 1.5Gb, nothing inbetween. Theres not much choice to customise it and a 5870gpu would not work on a pcb for a 5450, and vice versa.
It just doesn't work, the closest you get is some MXM packages for laptops but thats basically the whole lot in a tiny little pcb anyway.
A 5870, that was upgradable to the next gen, or a 5450 pcb that could be upgraded to a 5870 gpu, would cost so much more, it would make it pointless.