OK, so now I see some bitcoin war having a chance to pop up in a near future. People vs corporations?
It's not good, and I surely hope to stand on the right side.
It's actually quite interesting topic to consider.
Splitting the coinbase into forks, where one stays at the limit, while the other one goes unlimited in size, or there are more branches, with different limits...
I think technically that could be done quite easily. Almost naturally - you just let a fork go and see how the market acts upon it.
BTC would split into BTC1 and BTC2 and from that moment each of them would have a different exchange rate. At the beginning, probably both below the last common price, but later - obviously either of them is still better than any other concurrency..
Maybe that could actually work
There's no particular need to have different exchange rates for different chains. What we're talking about is just sharding - it's a common way of growing systems that run into some natural scaling limitation. Without doing anything particularly clever:
When you got to a particular size you'd split the existing outputs into two shards, which would split in turn when they got too big. So some of your coins would be on Shard 1 and some would be on Shard 2. Your client would have to be able to connect to all the shards you had coins on. Most people would use SPV or whatever, but if they wanted to they could run full nodes for some, all or none of the shards.
For most purposes this would look identical to the end user to what they see at the moment. Just as your client currently looks at the amount of money you want to spend and figures out the appropriate collection of spendable outputs, it would gather together enough outputs on the same shard to make your payment.
The hitch is that if you didn't have enough coins on a single shard to make your payment, you'd have to make two different transactions, one on each shard. The client could display this as it would a single transaction, except that you might have something like "65% 3 confirmations, 35% 1 confirmation". In theory there could be cases where the 35% didn't confirm at all. The vendor would need a bit of extra logic to watch for their payment coming through in multiple transactions.
If you needed the whole payment to go through in one transaction - maybe it's a fancy escrow contract or something that needs to be atomic - you'd have to exchange coins on one shard with someone for coins on another shard.
There's no particular reason why people should ascribe different values to different shards - they're all Bitcoins (or whatever alt-coin), they can all be paid to and from the same addresses, and they all look the same in the client. But if you were worried that people might end up valuing different shards differently for some strange reason, you could head the problem off by making a method to move coins across shards. It wouldn't have to be fast or cheap - you'd just need to be able to reassure people that every shard was worth the same, and if anyone got the idea that they were worth different amounts the difference could be arbitraged away.