TCP tuples are identified by destination IP and port and source IP and port.
So in theory, 2001:db8:2943:a::1
and 2001:db8:2943:a::2
can each connect to 2001:db8:2943:b::3
on one destination port 443
, 64K times. In reality, fewer ephemeral ports are available, and it takes a large and well tuned host to do 64K connections of anything non-trivial.
Say another server IP was added, 2001:db8:2943:b::4
. Each source IP can connect another 64K times to this other destination IP, all on destination port 443
.
Very unlikely you will exhaust ports in practice. You could have have a million different source IP addresses, and the 64K limit doesn't apply.
Perhaps a load balancer with one IP doing 64K connections to one IP and port. This already is quite large, but if necessary you can add another IP to the backend host and use that as well.
Or, 64K independent instances of a thing each listening on a unique destination port. This is an enormous number of processes to run. Could run fewer listening ports, and move the complexity into the application layer. For example, HTTP name based virtual hosting.