Phone number is just a user number. Email addresses are a user name at a server name. A little harder to do if you're looking for something as ubiquitous as phone number porting.
The closest thing to a server name when it comes to phone numbers, would be the network it is on. For example, there is the public switched telephone network (PSTN), then there is the Defense Switched Network (DSN)
- set up new email address, hosted where you like
- https://support.google.com/mail/answer/10957?hl=en (forward your email)
- update your email address as many places as you can
It’s even easier if you list out the most important senders in a checklist and move those first. But give yourself at least a few months time. It’s certainly possible.
Once you have your own domain, future migrations to another email provider would be a matter of moving the emails and updating DNS.
When I finally changed, it was a lot easier than I thought. I just gradually migrated my accounts everywhere. I still have my old Gmail address, but I almost don't use it anymore.
Also (but I didn't try), couldn't you setup your own domain with Gmail? So that you still have everything in Gmail while you migrate all your accounts... but honestly for me it was really fine to deal with two email addresses for a while.
The funny part is you need an email address already to register a domain, at least during a bootstrapping phase. I have several domains across 2 registrars with renewals at different time of the year.