It's unlikely that a virus is affecting the physical port itself but may be doing something to block access to the port. Since you are getting an APIPA IP address (169) then your computer is not able to talk to your DHCP device. I would boot into Safe Mode with networking and see if you can get a connection/IP address that way since many virus and spyware programs don't start up in Safe Mode.
If you know the IP address and subnet mask of your network or if you have another computer connected to check the settings then you can assign a static IP address and see if you can communicate that way.
You can also go into Device Manager and remove the network card, reboot and have Windows find it and reinstall it to see if that helps. Finding and installing a new driver may be helpful as well.
Another way to check the port is to check the link light on the other end of the connection. If a connection is being made and packets are being send then you should get the link lights on the other end of the connection such as your router or switch to light up even if your computer doesn't have an IP address. If the link light on the other end is not lighting up then you may have a faulty Ethernet card itself.