Does anybody know whether it is possible to use host file rather than DNS with Unity? Is DNS just purely for name resolution of Exchange and AD?
You can use a host file with Unity, but DNS is still required. DNS provides access to various services in a Microsoft context with Active Directory.
That said, if you have something defined in DNS, but it's also defined in a host file, DNS will never be queried as the host file is queried before DNS.
Since Unity requires a mailstore such as MS Exchange, and Exchange requires AD, and AD requires DNS to function, you're not going to be able to avoid installing DNS by having a host file. That said, if it's a stand alone voicemail system, there is no reason you can't just have it all on the single server and point it at itself for name resolution.