Downloading update rpms once makes a lot more sense than doing it multiple times.
As for making a local mirror, itís trivial to collect the content by using rsync -a. Just find a fedora mirror source you like and test whether it has a rsync server by using a command something like:
If a rsync server is present at that address (and you may have to guess a few times to get the right address), you will get a listing of the content available. There are also rsync mirrors in the fedora mirror list.
Locally, create a folder structure within /var/ftp/pub to support a local ftp mirror and then schedule nightly cron jobs to check for new content. Like magic, new content just appears locally each morning.
But be careful about what you mirror, because you can wind up with 100GB of content without even trying. Mainly, you should locally mirror the updates and use the original mirror sources for the initial distributions.
But why stop there? Once you have the yum repository content, making a local apt repository is trivial. Just create the appropriate local apt folder structure under /var/ftp/pub and use hard links to create the content without using up a lot of extra disk space. Then just generate the database listings and you are ready to go. As with yum, all of this can be done using cron jobs, so that there is no manual intervention.