BIND isn't too terrible - there are a few configuration files, but there are plenty of good web pages and books describing them. And Apple's macOS Server DNS is based on BIND, so you can copy/paste content from its configuration files into your new installation if you're so inclined.I am reluctant to try manually installing BIND, after two spectacularly frustrating failures to manually install CalDAV (days lost in both attempts). I've been thinking about Linux, but it's hard to see how that could be any better.
But the last time I manually configured BIND on a Mac was many years ago (Mac OS X 10.3, I believe). Apple included the software, and all I had to do was enable and configure it. When I migrated to Lion (OS X 10.7), and Server became an inexpensive app, I switched to that and continued using it until moving DNS over to my Raspberry Pi.
On Linux, installation was pretty easy. Use the system's own package manager to install Bind. Then edit the config files and issue one command to set it to auto-start on reboots.
I never tried CalDAV, so I can't offer any advice about migrating that service.
Yes. Devices that don't allow manual network configuration will need to get their settings from DHCP, which, as others have pointed out, you can configure for static IPs, if you want. You configure the DHCP server with a table that maps MAC addresses to IP addresses, so the device will always get the same IP address. Then you can configure DNS to associate a name with that IP address.Also, those devices that won't let me assign fixed IP's won't let me assign a DNS IP either (Sonos being a major offender).
As for assigning a DNS server, you should be able to configure your DHCP server to serve up any DNS address you like. Some DHCP servers (especially ones built into routers) don't allow this kind of configuration, but any one you set up on a computer should allow this.