I have a Python program that runs on my Windows 7 computer which communicates with a Raspberry Pi over the internet through a port I opened with a Port Forwarding rule on my internet modem. 
I am concerned about a hacker getting through that open port and causing problems. 
My question is: 
Is there a way to password protect that port so anyone who tries to access that port is required to enter the correct password to get through to my Raspberry Pi?
If not, what other ways could I protect that open port?
Any help/advice is much appreciated. Thanks in advance.
You can effectively "password protect a port" via an SSH tunnel.
Instead of opening your application's port, you open TCP port 22 and run an SSH daemon. The SSH service can be protected by a password, passphrase, a key file or a combination thereof.
When you connect to SSH from Windows using PuTTY or Plink, you can specify that a local port on your Windows box is mapped to the port on your remote Raspberry Pi.
So rather than connecting to, say 203.0.113.0 on port 1234, you would connect to 127.0.0.1 on your Windows machine on port 1234 after establishing the SSH connection and this will route it through to the machine at the other end of the SSH tunnel.
Port Forwarding Security