There are 65, 535 ports - you can think of them as channels - for IP to choose from. (The number of ports available is determined by the maximum value you can get from the 16 bits allocated to the port number in the IP packet.)

The first 1023 of them are reserved. They’re deemed to be privileged ports and are reserved for what are known as the “Well Known Services” (WKS) such as telnet, ftp, gopher, www and so on. So they’re normally reserved for server processes for those types of protocol, and can’t be used by client processes. 

The remaining ports can be used for anything. Some of these are anyway used by various server processes - and some are becoming “Well Known” but until IANA  grants them a number that use is merely an unofficial convention.

NAT (Network Address Translation) - Dynamic

All packets leaving your LAN for the Internet contain the same source IP address, which is the public one assigned to your router.

NAT (Network Address Translation) - Static

You will need to get your ISP to allocate you a block of public addresses. Using CIDR, most ISPs will allocate you a block of eight addresses. You will have five of these eight available for use for static mapping. The computer on your LAN with the service you wish to make available still gets assigned an RFC1918 address - otherwise, you wouldn’t be able to connect to it from your own computers. Next, you configure the router with a static NAT mapping rule. You tell it the internal number in use on your LAN for the relevant computer, and you tell it the public address from your ISP- assigned address block that relates to it.