I'm happily using /etc/hosts as my internal / vpn host resolver, as opposed to running a separate dns service for my private ip space. Why? I can't explain exactly at this point, other than to say its working for me.
Running a separate dns server was a lot more of a hassle than I thought it would be, and since I wrote a simple script to keep /etc/hosts up-to-date, its not bad at all. I tried using ldap for it but it wasn't fast enough - I continue to store the hostnames in ldap though.
I found this page especially helpful when it comes to setting up /etc/hostname in debian for use with postfix.