We can all have static IPs, but if you fragment the space too heavily (e.g. your home having an adjacent address as someone else on the other side of the country / world), no AS will want to carry your traffic. It's simply not feasibly to carry traffic to tiny prefixes that big giant routers can't handle in a few TCAM entries. This is kinda why we have IP in the first place (instead of no L3 at all).
This is also similar to the old way the phone system used to work. If you move across the country now, you can keep your cell number no problem (and maybe even landline too?), but in the Bell monopoly days, you most certainly could not move out of an area code and keep your number, as the number itself reflect some sort of hierarchical structure of the network. There may have even been further restrictions on the number prefix (XXX in XXX-YYYY), but I don't know that for sure.
I don't mind having a dynamic IP that changes from time to time (for example every time I restart my router or reconnect). The real troublemaker is CGNAT.
Actually, I prefer having a dynamic IP as it makes blacklisting individual IPs useless.
The solution should be to use IPv6 everywhere via 4to6 and 6to4 protocols. Then Ipv4 usage will become less important (as fewer people will want to maintain or use it), and ISPs will have an active incentive to switch (less network translation to maintain).
At that point, the main consumers of IPv4 will be old devices and legacy clients that for whatever reason can't support IPv6. Nobody will be paying for ip's otherwise, so ISPs can continue selling their business plans as normal, the rest of us can just use IPv6 and not worry about rent-seeking behavior from the exhausted IPv4 space.
I would guess, around 50-60% penetration, you will start to see real "only works with ipv6" behavior, and the trend will accelerate...its already at 30% which is enough incentive to at least try to get on IPv6 now if possible...
For dial up, sure, but given most home internet connections are now always-on connections, dynamic IPs is just shuffling deck chairs on the Titanic (OK, that's not a great analogy). Unless the ISPs two options are static IP and CGNAT, then a dynamic, non-CGNAT IP is just rent-seeking.