you can overwrite the native PO number, but I feel like that would be a mess later down the road. Your suitescript would generate the random string, do a check to see if it exists already and save if it doesn't. There's plenty of code snippets to create random strings or numbers, but it would be upto what kind of standard you want the new PO numbers to follow