A "port number" in this case is a 16 bit identiifer in the TCP header. The tuple (local addr, local port, foreign addr, foreign port) identifies a particular TCP session.
If you wish to connect to a particular application on a remote host, there is a naming problem of figuring out what TCP port number the application is listening on. The early approach to this problem is to assign particular application protocols "well-known ports" where every system using that protocol is supposed to "know" (see /etc/services on *IX systems, other systems have other kinds of local tables, and some applications just hard-code it) what remote port is used to contact the remote side for the application (usually the server side, on client-initiated sessions). The well-known ports are assigned by the Internet Assigned Numbers Authority (IANA) and the canonical list can be found at
http://www.iana.org/assignments/port-numbers
So, for example, the well-known port for FTP's control connection is 21 (FTP is unusual in that it uses multiple TCP connections). So your FTP server (or a super-server like inetd) makes system calls telling your local network stack to listen for TCP sessions destined to port 21 and to send them its way. When your FTP client initiates a connection to a server, with the foreign port set to 21. And thus the two can find each other.
There's nothing compelling anyone to use the well-known port assignments. You can run a FTP daemon on any port, but every client that wants to connect needs to know what that port is, a priori, in order to connect. But if you run it on the standard port, and the client tries to connect to it on the standard port, it Just Works and you the end user don't have to worry about ports at all. This is the benefit of cooperative standards.
"couldn't you recreate what ever data was coming out of a network jack by recording electrical signal?" - this is a very different and separate question. Sure. It's called a replay. You can do this at layer 2 (Ethernet) or layer 3 (IP) or layer 4 (TCP) or higher, also. It works well, is useful for testing, and useful for bad guys too.