Connections may be a good solution for you. A few items…
You’ll need Link to allow your users to maintain their own entry. The form that is added by Link, is by not customizable the admin, the user can choose to hide/show the metaboxes. The function is just like the form on the “Add Entry” admin page.
There is no geolocation searching available at this time. What I mean by geolocation is x miles from y zipcode. However, on the Connections : Settings admin page under the Advanced tab, you can enable regional linking where the parts of the addresses in entries will become links that when clicked by a user will filter the list by the region clicked. For example, if you enable Locality, the city in every address will be a link and when a user clicks the city, the results will be linked to that city.
There is not yet a built in method to have “Featured” entries, however, others have created a “Featured” category and assigned those featured entries to that category. They then placed a new shortcode on the same page limiting it to displaying only the “Featured” category using the category shortcode option. To make sure the featured category shortcode results are locked, add lock=true to the shortcode.
Hope that helps.