I've been having thoughts about this for a while. We know that PAT uses TCP/UDP port numbers to distinguish between inside hosts via a mapping table for private IPs, internal/external ports and all that stuff, all happen so that the return packets from outside (despite having the same destination IP) will remap and reach the correct inside host.
Now how can ping/icmp replies route back to the inside while we know ICMP is not at the TCP/UDP level, so it does NOT use port numbers at all? Any idea? May be I'm missing some thing.
Practically, I'm behind PAT and I can always ping outside.