In my opinion, you should name the domain according to a private scheme, which is typically based on an Internet parent zone. For example, if your company is called Widgits.com, you will have claimed the Widgets.com name on the Internet. Internally in your corporation I would suggest calling the domain corp.widgets.com or local.widgets.com. In this way your domain is separated from the external world. This helps humans distinguish between what is public knowledge and what is private. This does add a slight complexity to Exchange implementations, but it is only minor.
DHCP is rather easy to set up and shouldn't be a problem. Running DHCP on a domain controller is considered a small security risk. If there is another server, you might want to put DHCP on it instead. File servers often can run DHCP without impacting other services. But, if you are controller costs – continue as you planned.
This was first published in March 2005