Default random value in field and read-only field option?

You might be interested in this plugin: AutoID Plugin (create unique page ids)

Other than that, yes, a page.create hook would be the way to go.