You are correct-- Active Directory has strong dependencies on DNS.
To make this easy, you should install the Microsoft DNS server onto the domain controller computer and configure it to use itself for DNS. Your ISP's DNS servers probably don't support the dynamic updates that would make life w/ Active Directory easy (and they probably won't configure a zone for your AD domain's name anyway).
You can optionally configure your ISP's DNS server as a "Forwarder" in the DNS server you run to allow queries your DNS server can't answer to be sent on to your ISP, but the Microsoft DNS server will resolve queries to the root DNS servers in its "stock" configuration. Not using your ISP's DNS server really isn't a big deal, though.
Configure the machines that you'd like to join your domain to use your domain controller's DNS server as their only DNS server. Don't specify any other DNS servers on any of the machines. They should be using your Microsoft DNS server's IP address as their exclusive DNS server.
That'll get you over the problem of not being able to join your other machines to the domain. Be sure, when you try to join the domain from these machines, that you specify the fully-qualified domain name (and, if necessary, check with "nslookup" to see that they can resolve the domain's name to an "A" record that refers to the domain controller computer). If you've tried several times and it's still not working you may want to flush the DNS cache on the machine you're trying to join by running an "ipconfig /flushdns" from an elevated command-prompt.
You can use whatever name you want for your Active Directory domain's DNS name. Only your servers will be using a DNS server that "knows about" your domain, so you can choose any name you want. Bear in mind that your DNS server is going to be "authoritative" for that domain. If you choose "microsoft.com" as your Active Directory domain name, for example, your domain-member computers won't be able to resolve "real" names in the "microsoft.com" namespace (since your DNS server will think that it "owns" the "microsoft.com" domain).
I recommend that you either use a subdomain of a domain name you already own, like "ad.company.com", or that you use a domain with the ".local" suffix (some people say that using ".local" isn't "proper" since no RFC calls it out as being reserved). I prefer the "ad.company.com" style names. It looks like you've already installed AD, though, so your name choice is somewhat "set". (It's possible to rename a domain, and not really too difficult, but in this case it might be better to uninstall and reinstall AD.)
Best Answer
The easiest solution would be to assign DNS from the DHCP server, this way, when they are in the office, they get Domain Controller as DNS. When they go back home, they will get DNS server from the Home Network DHCP (like an ISP Router or Modem).