You can use yum and createrepo for this, or up2date. The caveat is you need to download the updated rpm packages or install them from the update media into a common directory. You can also use a 'clone' repo to get the updates, but since you state you have bad connection then this might not be a viable solution. The instructions below are how to setup and use yum and createrepo.
Get and install both the yum and createrepo rpm packages from Dag Wieers's site;
http://dag.wieers.com/packages/
Next create your local repo location (lets call it /RHEL4 for now) on the hard drive and copy all the rpm files from the CD/DVD media or up2date site to this common location. Then from that location type something like; createrepo /RHEL4
When done you can then use this with yum but first you need to create a RHEL-MEDIA.repo file in /etc/yum.repo.d directory;
[rhel-media]
name=Red Hat-$releasever - Media
baseurl=file:///RHEL4
gpgcheck=1
enabled=0
When done you can now use yum and your local repo for updates and installing packages by typing something like; yum -y update
Every so often (once a month for example) re-load (download the new updates) and clean up (remove the older update packages when newer versions are available) your local repo then re-run the createrepo command.
By the way depending on how up2date is configured, the downloaded updated rpm packages may be in the /var directory tree, check. if yes then you can use this location instead of the /RHEL4 directory, just make the changes as required.