From what I've seen (on my ancient Telus, Fido, and Virgin contracts) the PUK or SIM lock codes are always provided to the customer, albeit buried deeply somewhere in the legalese small print that everyone signs but almost nobody ever bothers to read.
And from what I've seen (on my recent google searches for PUK stuff), every major carrier in Canada has a page somewhere which provides a phone number, email, or other contact method for requesting your phone's PUK code. At no charge.
Public Mobile does wireless differently. No paper contracts, no paper agreements, no paper bills. All online, all centered around the customer's PM Self-Serve Account. I heartily agree that information like the PUK should be provided here, especially if it's a unique identifier (since the generic default "1234" apparently doesn't always work).
PM customers can forget their phone's PIN and invoke a PUK lockout. Their (unauthorized) friends or family can try guessing PINs until PUK locks them out. These things happen.
But the PUK code itself (along with, perhaps, a caution about why the PUK was put there and what will happen to the device after too many failed PIN attempts) should be available when it's needed.
Each PM customer knows how to login to their own PM Self-Serve Account, while phone thieves and unauthorized phone-peepers would not.