Using an external DNS shouldn't have any major problems on a mail server, I wouldn't worry about it too much until/unless you start getting A LOT of traffic..
As for the names...
mydomain = your actual domain, so:
mydomain = linuxquestions.org
myhostname = name of the PC itself, if you don't name your PC, then:
myhostname = localhost
Will be fine. But if you have multiple computers on your own LAN it's much easier to use names for the PC's than identify them by private IP, in which case you'll use the name of the PC that replaces localhost..