Yes, they still lock phones, but it isn't for the full two or three years that many people seem to think.
Verizon automatically unlocks after 60 days,
even if it's not paid off.
The last time I purchased through Verizon, Settings > General > About > Carrier Lock showed "No SIM restrictions" after a couple months...meaning it was unlocked even though it wasn't fully paid off. My monthly trade-in credits were still paying for the "free" phone. My parents are halfway through their trade-in/payment "contract" and their phones are unlocked as well.
AT&T unlocks after 60 days or when it's paid off, whichever is greater.
T-Mobile unlocks after 40 days or when it's paid off, whichever is greater.
So if you need to leave or unlock before your "contract" is up, just pay off the remaining balance. You'll get to keep the credits received so far, resulting in a cheaper phone than if you had paid full price up front. You are not stuck with them for two or three years; that practice is dead.