If it were me, I would design it more this way after thinking about it a bit:
1. Japan Post lets you register your address to your Japan Post Account.
2. No static short code is created for your address.
3. Japan Post provides an API (like OAuth) for allowing you to persistently share your address location with a third party, say Rakuten, or Kuroneko Takkyubin, or something.
4. Once you've linked it to those services, they can use this API to get your address at any point in time.
5. You can unlink services whenever you want to revoke access, without changing any code.
6. No way to request an address for a Japan Post account without permission granted.
7. To handle cases like taxis, Japan Post can work with providers like GO Taxi, S.Ride, DiDi, etc. to do an authenticated one-time address share via NFC using the Japan Post App with the digital consoles already present in almost all taxis in major cities (no help for old taxis in the inaka, but that's a tradeoff).
a. or alternatively, persistently link your GO Taxi, S.Ride, etc. accounts to Japan Post for the same purpose.
b. and also potentially allowing to do such a key exchange with NFCs on smartphones or a standalone device, but probably taxi operators wouldn't be motivated enough to actually do that.
That way you just need to trust Japan Post and you can still get a decent amount of the convenience of address sharing.