Nice solution.
This is what we did:
Chose a server that is subscribed to RHN.
Created a Systemimager image of this server on another server.
A script chroots into this image and runs up2date.
We only download the packages and use yum to distribute them to other servers that cannot directly connect to RHN.