For OpenBSD, I have found their documentation on setting up a DHCP server covers all the basics: http://www.openbsd.org/faq/faq6.html#DHCP
Following the instructions there (enable a setting in your config, and edit the dhcpd configuration file to specify which interface to listen on) will get you all setup to server DHCP on your local network.
Effectively, as of 4.9 you need to set the value dhcpd_flags="" in your rc.conf.local, and then modify your /etc/dhcpd.conf file to match the parameters of your network. I highly recommend you read the link as it goes into more detail, and if you ask for help on an OpenBSD mailing list, they will expect you to have read it.
As far as DNS goes, I have found that the unbound DNS server that is available as a package is much easier to setup than Bind, especially if you just want to have a caching name server for your local network. There is an unofficial guide available. Once you install the server, you have to make some modifications to the config file. The guide explains all the needed changes, and I found it very easy to follow.