Does anybody know if Azure has the same capability as AWS to resolve an external DNS hostname to the public IP address of the instance outside the network of the instance, and to the private IP address of the instance from within the network of the instance?
Using Azure's Virtual Network feature, yes, you can. Take a look at the documentation.
Name resolution between virtual machines located in the same cloud service
Windows Azure name resolution (internal)
Name resolution between computers on the internet and your public endpoints
Windows Azure name resolution (external)
Here's an overview of Virtual Network.