I don't know if the Sprint and Verizon phones are still being sold unlocked. I do know that you can get it unlocked after a certain time frame, something like 3 or 6 months paid.
Unfortunately with AT&T you can't get the iPhone unlocked, ever, for now. Even if you pay your entire 2 year contract they won't unlock it. I believe since they are no longer the only iPhone carrier that they should start unlocking the iPhone's after a certain time period with your account being in good standing.
AT&T does unlock all their other phones, I believe the iPhone is the only exception.