I understand you want to host your own DNS server and that's your decision.
But, according to http://www.dslwebserver.com/, "Some people run their own DNS servers at home, but it's probably more trouble than it is worth".
I'm also trying to learn how to run my own webserver from my home, and faced the same problem. I found that, since I also have a dynamic IP address, using ZoneEdit seems to be a good way to solve the problem.
From all I've read so far, ZoneEdit seems to be the best.
My main site is hosted outside, I pay for the hosting.
The site I'm trying to host at home will be just for testing, for strict personal use, for funny and will be a part-time site, it'll be up and running only when my computer is up and running. I don't plan to leave my PC on 24 hours a day.