I got frustrated with having to edit my repo files every time an update came along to the release package, so I looked for "a better way". What I found was http://www.gurulabs.com/goodies/YUM_automatic_local_mirror.php, which gave me the clues I needed to have my local repositories added to the mirror list dynamically. I hacked the script a bit to make it work with CentOS and fit my situation a bit better, but it's written in Perl so it should not be too hard to figure out.
Once set up, all you need to do is point the DNS name mirrorlist.centos.org to your local server. I've used manual /etc/hosts entries and DNS, both work just fine. I've been using it for a couple of years now with good results.
As always, YMMV.