It looks like mrepo would be up to your task. http://dag.wieers.com/home-made/mrepo/ I'm surprised Dag didn't mention this. I haven't tried it myself.
Where I work we rsync down from a centos mirror, excluding the bits we don't need like isos-dvd/ and s390/. This keeps the total size within reason, but still need nearly 30G for 4.5 and 5.0 combined.