Are you certain that the Segwit V0 and Segwit V1 will be working on them?
Sure, why not? Those would become another enum value each. E. g. output type 4 is for P2WPKH, the expected payload is a 20-byte key hash. Output type 5 is for P2WSH, the expected payload is a 32-byte witness script hash.
Not really, because you can locally store your data in whatever format you want. So, if you create a converter between the original format, and your own format, then it could be fine, without any hard-fork.
That wouldn't achieve much, though. I'm talking about the format that Bitcoin nodes use to exchange data. Also, not all transactions that exist on the current blockchain can be serialized that way. More explicit standardization would be one of the goals for this change; it can't be achieved by a client-side implementation.
Maybe, but not in the way you think. In general, if you read the whitepaper, then it describes only one address type: P2PK. And also note that you can get all address types behind nothing more than a public key, if you use the latest address type, which is P2TR.
Both P2PK and P2PKH were available in the first released version of Bitcoin, see
this message.
Which means, that if we would have P2PK, and nothing else, then other address types could be added behind a regular signature. Which means, that the first version could allow only public keys and signatures, but some later upgrade could add Script into the whole equation, while keeping it committed to the public key, and while still requiring a valid signature (and also a valid script, just like P2SH was added, to require not only a valid stack push, but also executing it).
I'm not sure what you mean? Bitcoin script was available from the beginning. There was never a transaction type that wouldn't use script.
If your main goal is just data compression, and nothing else, then it would be a no-fork. Which means, that you don't even need a soft-fork to do that, but you can implement your own version, without asking anyone for permission. The only reason, why standardization would be a good idea, is to improve performance, and exchange data between new nodes in a new format, without the need of constantly converting it back and forth.
If it somehow became the standard way of storing transactions, block size and fees would be calculated based on transaction size serialized this way. Which means more transactions in a 1MB block and lower fees.