Hello! I'm a U.S.-based PHP/Wordpress Theme/Plugin developer and expert user in the Boca Raton/Boynton Beach, FL area.
I'll tell you right now, custom fields are the wrong direction. Custom fields are a very bad way of doing this. Here's how to make this project perfect:
1. Directory posts implemented as a CUSTOM POST TYPE, specifically designed to be a directory listing: instead of the usual Wordpress fields (and custom fields), we wipe that out and use totally custom renderers, for a smooth appearance:. That way, each one has "custom fields" with your own custom user interface: need a date? use a date popup. Need a drop-down/select-list? Pre-populate it with custom rendering for the UI;
2. Custom built-in Wordpress management of your directory listings, within the smooth wordpress interface, just like a native part of wordpress. Quickly filter, sort & edit them on the back end, delete them, or create new listings.
3. Custom shortcodes to display your lists on the front end for users, or print/email as you wish.