It’s already a thing. These unique per-service addresses are called “ports” in IP protocol.
Also, the IP protocol does not care about ports at all. Ports are a thing for UDP and TCP.
You're right, they are one level above.
> Hosting service A shouldn't mean that every user of service A can also figure out you host C, B and D.
It how are ports on a single IP address essentially different from multiple IP addresses within a subnet?
It’s already a thing. These unique per-service addresses are called “ports” in IP protocol.