What is the proper URI format when making a QR code with a payment ID integrated? And do the monero mobile wallets read this format properly?
The URI format is described in https://github.com/monero-project/monero/wiki/URI-Formatting.
In particular, a monero payment URI with a payment ID would use the tx_payment_id parameter, like this:
If you want to try things, out, the Monero GUI wallet allows you to autoamtically generate QR codes based on the payment ID and amount you give.
The Monero GUI wallet supports reading those, but I don't have information on which other wallets currently support them. I suspect most do. monero-wallet-cli, while not a mobile wallet, has a patch to handle them which is soon to be merged.
Note that Monero now supports subaddresses, which allow you to have an address per customer without having to deal with separate payment IDs (however, not all wallets support sending to these yet).