First, it can be done through our API, which does allow the dynamic modification of DNS records. This approach can be a bit convoluted, but many smart people have written and released scripts and libraries to help streamline the process. Searching the web for "NearlyFreeSpeech.NET dynamic dns" should produce a variety of options.

The second approach is to set up a name for your home machine with a dynamic DNS provider like No-IP.com (which offers a free service), or Dyn. In the case of No-IP.com, they will give you a name like your-name.noip.com and you can load a widget on your home computer or Internet router to keep the address up to date. Then, from our end, add a DNS record for the name you want that is a CNAME to the name they gave you; i.e. if you want www.example.com to point to your home machine, and they gave you example.no-ip.com, you would add a CNAME DNS record here in your example.com domain with a name of "www" and a data value of "example.no-ip.com." including the trailing dot.