Any suggestions about why I cannot access the LDAP port from a client machine? Why does it seem to be hidden? Does LDAP bind to a specific IP address? How can I get it to bind to its actual IP address and not just localhost?

There's something blocking it unless theer has been a change to the IP that it's listening on. It should be listening on your LAN IP, I can connect to my Zimbra LDAP from any other machine. I'd also suggest you try a telnet or an ldapsearch to see if it really isn't listening. Unfortunately, that isn't a Zimbra build so I don't know if anything has been changed in it.

I seem to be in the exact same situation here...trying to setup the Zimbra server to act as an authentication source and cant connect to the LDAP service from an external client. My /etc/hosts looks like:

Ok verified that that has fixed it for me at least.
Port 389 is now accessible from other machines and correctly bound to the internal IP address of the server instead of a loopback address and the Zimbra services have no issues starting up.

rcholcomb try commenting out the line that sets 127.0.1.1 to your hostname in your /etc/hosts file.