Yes, it's possible. In fact I do it at home.
I use easydns.com's domain hosting service. They allow you to map dynamic IPs to your domain name. I use a linux router that run a program called ezipupdate. When my router gets a new IP it updates it with easydns. When my IP changes my site goes down until all the name servers are updated, which usually takes less than half an hour. That being said, I have cable internet and my IP hasn't changed in months.
Just be careful with your DNS server. I have mine behind my firewall/router and it only accepts requests from my internal network. It's looks at my ISPs DNS servers first for a lookup and if they are unavailable then it looks for the nearest world DNS.
All of my machines use my DNS server for lookups. It was mainly just a challenge to see if I could do it, but my ISP's servers did go down once for about an hour. It was cool to still be able to surf.