Keep in mind that getLatLng() is asynchronus: you're passing in an anonymous function for it to execute when it completes.
Your getLongLat() function won't be able to return point in this case because that anonymous function is running in a completely different context asynchronously: your function will execute and return before Google's will, and point won't even be in scope for the outer function.
You'll need to call whatever code you want to operate on points inside that anonymous function:
function getLongLat(address)
{
geocoder = new GClientGeocoder();
if (geocoder) {
return geocoder.getLatLng(address,
function(point) {
// point is only in scope for this anonymous inner function
// which is called when your request to Google's service completes
if (!point) {
// your error condition if a point isn't found
// omgMissingPoint(point);
} else {
// your function to process points here.
// processPoint(point);
}
}
);
}
}