When you have a line out of contract, you can cancel the contract, but request to transfer the number to another line on contract. You only have to stop paying them the extra 9.99 a month. It may cost a fee, but it can be done. My brother got an iphone 2 years ago through work on ATT. He no longer needed his personal phone. But he was on a share plan with his phone's contract expired, but the other lines still under contract for several more months and he didn't want to lose his number. So he cancelled his line (the one with the number he wanted to keep) and had them transfer the number to the other phone.
The actual phone numbers don't matter to them. It's the lines under contract. They might be annoyed about it, but they can do it. You just have to force the issue. In the end, I have 4 lines under contract. I will be adding a fifth. At any point when a contract is up, you can cancel it. The rest falls under the rules of porting phone numbers.
So if my 4 lines ended with the numbers 0001,0002,0003,0004, and the new line is 0005. When 0004's contract expires and can cancel it. I don't really want a phone number ending is 0005 so I call VZW when I want to cancel and I say I want to cancel line 0004, but I want to replace 0005's number with 0004. They can do that.