To get that done you'll need a Dynamic DNS service. Google around for some Dynamic DNS serivce providers (aka DynDNS or DDNS). Here's the link to what the one i'm using:
http://www.changeip.com/
Once you get it going, you'll some clients and scripts which you can run as a cron job to keep things going smooth.
One final note: The ChangeIP service can take up to 5 mins to refresh the dns records, so if you set the updating script on your machine to run every 5 minutes, then you're looking at a worst-case scenario of being offline for 10 mins each time the IP changes.