UPnP won’t help you, because it adds dynamic dstnat rules with in-interface=, so they can’t work when connection originates from LAN. But static dstnat config must work, as long as you don’t do the same thing as UPnP does. In other words, use dst-address-type=local instead of in-interface option.
It will still be different from scenario 1. Local detection is fast. But with scenario 2, PC1 will get only the public address for PC2, and it will (most likely) treat it like any other peer. So it might take a while, before it decides to connect to it.
Forwarding all udp ports would not work well, you need only the one set in uTorrent settings.
If you don’t have public address on your router, then you’re out of luck, it won’t work at all. The only thing that could possibly work would be to add peer manually, if uTorrent would be willing to accept local address (I’m not sure).