Dynamic DNS updates via DHCP are a really cool feature to have if you've got more than a few machines on your internal network.
The benefits of doing things the way I'm about to describe include: (ostensibly) faster external address resolution (because the internal DNS also acts as a caching nameserver), the ability to issue pseudo-static IPs to hosts that you want to always receive a specific address, and of course the functionality of letting your FreeBSD box automatically generate a DNS entry for each new DHCP client.
In recent versions of FreeBSD, the named nameserver component is already included in the standard system, so enabling it is just a matter of modifying a few configuration files. The DHCP component you can build by going to /usr/ports/net/isc-dhcp-server and issuing the standard "make install clean".
No point in rewriting what's already been said, so here's a link to a post made by "halber_mensch" on the BSDForums website:
http://www.bsdforums.org/forums/showthread.php?t=49883 - This is the guide that finally got me up and running after much searching on Google the first couple of times I tried to set up such a system. Halber deserves the credit for sure.
Test out your services by starting them:
# /etc/rc.d/named forcestart
# /usr/local/etc/rc.d/isc-dhcpd.sh start
Once you've followed the steps outlined above, be sure to enable the daemons at boot by editing your /etc/rc.conf file:
...
named_enable="YES"
dhcpd_enable="YES"
dhcpd_ifaces="network interface"