Google doesn't appear to have this restriction that you speak of. The Google Geocoding API website actually suggests caching or storing the content to reduce hits to their servers and improve performance.
As far as addresses go, your users are entering them, so you can store the addresses. The latitudes/longitudes can be retrieved from the Google Maps API service using those addresses.
It's okay to cache the results, so you'll only need to really look them up during the first search.