In fact, for languages like Portuguese or Chinese, the predefined list uses the same language code because languages variants share the same ISO 639-1 language code (which is used for the predefined list).
But you have the possibility to edit the code and enter what you want (2 or 3 characters). The only issue when doing this will be with the detection of the browser preferred language (for the non-standard code).
I was not aware of WordPress locales using a different format from xx, yyy, xx_XX, yyy_YY. I looked at the official WordPress language repository where Polylang downloads language files when they are available.
My intention with the validation of the locale format was to help the user, not blocking him. And clearly you demonstrate that this is a bad limitation. I will remove this control in the future version so that it will be possible to use such locale as de_DE_Sie. Thank you for pointing out this issue.