Advice on CSV import with taxonomy for data sanitaztion
Store the list of states as a taxonomy and add a text field to the taxonomy called aliases. This would be an text field with unlimited values.

Now when checking if a term exists you can use:

function taxonomy_load_term_check_aliases($name, $vid) {

    // load term by name (not using taxonomy_get_term_by_name() as I want to pass in vid, not machine name)
    $tid = db_query('SELECT tid FROM taxonomy_term_data WHERE vid = :vid AND `name` = :name', array(':name'=&gt;$name, ':vid'=&gt;$vid))-&gt;fetchField();

    // no match - see if an alias exists
    if(!$tid) {
        $bundle = db_query('SELECT machine_name FROM taxonomy_vocabulary WHERE vid=:vid', array(':vid'=&gt;$vid))-&gt;fetchField();
        $tid = db_query('SELECT entity_id FROM field_data_field_aliases WHERE field_aliases_value = :name AND bundle=:bundle', 
            array(':name' =&gt; $name, ':bundle'=&gt;$bundle))-&gt;fetchField(); 
    }

    $term = taxonomy_term_load($tid);

    return $term;
}


If you can't find a match then add an additional alias. As you list of aliases builds up it will become more and more automated.