There are legal issues with using Google Maps within J2ME apps. The Google Maps API can only be used from within a browser.
See 10.8 on this page: http://code.google.com/apis/maps/terms.html
Google Maps also has a limit on the number of unique maps you can download per ip address. Usually it would be good enough for any PC-based app. However, on mobile devices many devices will go via a proxy web service such that many devices have the same IP address. Because of that the limit is reached very quickly.
Yahoo Maps has no such restrictions in it s T&Cs and a much higher limit per ip address. They also flag certain ip address as proxy servers so they don t count towards the limits. We ve used this commercially.
As for reverse GeoCoding, there is the GeoNames webservice, though I ve not personally used it.