Here is one fork of addressfield on github the author is Adam S
what this module does is if you select any point on the map and click on 'Look up address of marker' then all the fields of address fields are populated!!!!!.
there is a small problem with this module i.e is it is not able to set the country field, if you refresh the browser then the country field is set, but other fields are gone.
This is picked up from here http://groups.drupal.org/node/137049#comment-458789
The author is not coder and not having java or ajax knowledge. but still he has done an excellent job
How ever if some can just remove small bug in the module it will be great tool for useful reverse geocoding
can some think like this implemented in geonames field?