Is there any way to unlock it, without contacting AT&T and that doesn't cost a ridiculous amount? I switched to StraightTalk, if that matters.
Unlocking an under contract AT&T iPhone 4S?
No, you can go to a local store where they do factory unlocks which will cost you around 30-80 depending on the store.
Basically the cheapest way not involving AT&T themselves will be to get your 4S unlocked at one of the big online vendors like http://www.cellfservices.com/ as this will be significantly cheaper (and faster) than having it done in a local phone repair shop.
Here it is: http://senseiphone.com/unlock-att-iphone-imei-08294523/
You get discount by writing review!
See the review posted there.
You dont need it unlocked to use straighttalk
Follow the safe and easy unlock guide for iphone 4s: