I can help you with the states, here goes
=VLOOKUP(A1,{"AL","Alabama";"AK","Alaska";"AZ","Arizona";"AR","Arkansas";"CA","California";"CO","Colorado";"CT","Connecticut";"DE","Delaware";"DC","Dist
rict Of
Columbia";"FL","Florida";"GA","Georgia";"HI","Hawaii";"ID","Idaho";"IL","Illinois";"IN","Indiana";"IA","Iowa";"KS","Kansas";"KY","Kentucky";"LA","Louisiana";"ME","Maine";"MD","Maryland";"MA","Massachusetts";"MI","Michigan";"MN","Minnesota";"MS","Mississippi";"MO","Missouri";"MT","Montana";"NE","Nebraska
";"NV","Nevada";"NH","New Hampshire";"NJ","New Jersey";"NM","New
Mexico";"NY","New York";"NC","North Carolina";"ND","North
Dakota";"OH","Ohio";"OK","Oklahoma";"OR","Oregon";"PA","Pennsylvania";"RI","
Rhode Island";"SC","South Carolina";"SD","South
Dakota";"TN","Tennessee";"TX","Texas";"UT","Utah";"VT","Vermont";"VI","Virgi
n Islands";"VA","Virginia";"WA","Washington";"WV","West
Virginia";"WI","Wisconsin";"WY","Wyoming"},2,0)
beware of line wrapping. Where A1 would be the cell where you type in the
abbr.
You can create a similar list for the custom list, put the abbr. in a column
to the left and its full name in the adjacent cells to the right, then just
refer to that list
=VLOOKUP(A1,B2:C100,2,0)
of course you can do the same for the states
=VLOOKUP(A1,B1:C52,2,0)
the above is just the same hard coded. I would probably tuck it away on
another sheet and give it a defined name like States, then us
=VLOOKUP(A,States,2,0)