|This is why I asked for clarification!|
am at my friend's house, with PC connected to my friend's NAT router, trying to connect to my own house PC, which is also behind NAT router
This is clear. What you originally posted made it sound like two PC's in the same physical location, but on different networks.
Yes, there is a solution. It's called "Remote Desktop Connection"
For example, we'll have you connect to your friend's computer. First, the computer being connected to has to have Remote Desktop enabled (Start >> Control Panel >> System >> Remote tab - check the box beside "Allow remote connections")
Then, you need to setup a "port forward" on your friend's router. To do so, you'll need the LAN IP of the computer you'll be connecting to and the port number of RDC...which is 3389. For example's sake, we'll say your friends computer's IP is: 192.168.0.100 you would create the port foreward on his router as follows:
Forward port 3389 to 192.168.0.100
Then, your friend needs to find out his external IP address as that's the one you would have to connect to (the LAN IP is behind the firewall right - ergo the port forward to the LAN IP). He can find out his external IP by googling "what's my IP"
Then you open RDC and enter his external IP address and click connect. If the port forward is done correctly, you'll be directed to his computer and asked to enter a username and password. You will probably want your friend to create an account on his PC for you to login with. He'll need to tell you the username/opassword obvioulsly......lol
It matters not how straight the gate,
How charged with punishments the scroll,
I am the master of my fate;
I am the captain of my soul.