What he is describing is referred to as PAT (Port Address Translation) by Cisco. From Cisco's <NAT Frequently Asked Questions>
---
Q. What is PAT, or NAT overloading?
A. PAT, or NAT overloading, is a feature of Cisco IOS NAT and can be used to translate internal (inside local) private addresses to one or more outside (inside global—usually registered) IP addresses. Unique source port numbers on each translation are used to distinguish between the conversations.
With NAT overload, a translation table entry containing full address and source port information is created.
---
To answer the question...
---
Q. When configuring for PAT (NAT overloading), what is the maximum number of translations that can be made for each inside global IP address?
A. PAT (NAT overloading) divides the available ports per global IP address into three ranges of 0-511, 512-1023, and 1024-65535. PAT (NAT overloading), assigns a unique source port for each User Datagram Protocol (UDP) or Transmission Control Protocol (TCP) sessions. It will attempt to assign the same port value of the original request. However, if the original source port has already been used, it will start scanning from the beginning of the particular port range to find the first available port and assign it to the conversation.
---
Basically it's unlimited.