I may not be asking this question correctly, so please excuse me if I'm woefully wrong.
I have a VM running inside Hyper-V. The host machine is actually a web server, so it has IIS, Internet connection and all that. What I want is to have this VM, which will also run IIS, accessible from the outside world. I understand that it will be impossible to have IIS listening on port 80 since it's already taken over by the host, so something like 8080 (or whatever arbitrary port) will be just fine.
I Googled all around and couldn't find anything on how to set up port forwarding with either Windows Firewall, or with Hyper-V itself.
Your Hyper V Guest should have it's own IP address, different from that of the host. Therefore your network interaction with the guest is separate to that of the host, and you can run IIS on port 80.
When it comes to configuration of port forwarding and firewall, the fact that this is a Hyper V guest makes no difference, you configure it as if it is a standalone server, with its own IP.