I had a similar question these days, and I tried to see if the Features module could help. Features worked to me.

You can create the field by the UI and then export a feature with the address field already created.   
After that you can move the inc files for your custom module and add an include on your .module file:

    include_once('[your_module].features.inc');

Then, you will need to add the some lines on your .info from the info file of the exported feature.

Your info file will need something like this:

    dependencies[] = "features"    
    dependencies[] = "text"
        
    features[field][] = "node-article-field_address"



This question may help you too: http://drupal.stackexchange.com/q/13083.