In Canada, we have free MMSI numbers. They are internationally designated;
Canadian MMSI's begin with 316 followed by 6 digits.
Fleet vessels have a preceding 0, so Canadian fleet vessels are 0316 followed by 5 digits.
Coast Guard vessels are preceded by 00, so Canadian CG vessels are 00316 followed by 4 digits.
My book was last revised in 2007, and it lists USA codes as 303, 338, 366, 367, 368, 369 and should follow the same convention.
As for reprogramming, that is dependent on the radio. The Icom IC-M302 allows the MMSI to be entered twice. However, I believe (I recall it being mentioned in my course years ago) that you can contact the manufacturer to have it reset.