closest thing to carrier unlock without a PST (phone service tool) is eri.xml, and build.prop settings for mccmnc and carrier name.
eri.xml has the carrier name, fairly useless except for show. the build.prop settings are what really makes it go.
ro.cdma.home.operator.alpha=Virgin Mobile
gsm.sim.operator.alpha=Virgin Mobile
gsm.operator.alpha=Virgin Mobile
ro.cdma.home.operator.numeric=311490
gsm.sim.operator.numeric=311490
gsm.operator.numeric=311490
without this, probably no mms or data service on different carrier.
example.
look up your mccmnc for different carrier, and eri.xml can just be edited. changing build.prop, make sure to chmod 644 before reboot or it'll bootloop.
any deeper 'unlocking' (I think there's some needed for Verizon for example) is done in QPST and suchlike PSTs, you'll have to check around for the process for other carriers.
The QPST is for changing the PRL (primary roaming list.)
here's cross-forum examples for Verizon on the OV.
[Mod] Using the Optimus V on Verizon | LG Optimus One, P500, V | XDA Forums Froyo
[Mod] Using the Optimus V on Verizon - Post #11 - XDA Forums Gingerbread
oh, yeah, Virgin MMS is stupid and not like any other carrier. May need framework changes to handle foreign MMS, but maybe not, since my VM builds seems to work fine on Sprint without those.