Right, so it probably is a NAT router then (which I'm guessing is also located in your home). For the sake of demonstration, let's say you want to use the 3 example IPs you posted earlier.
So first of all, you'll want to make sure that you actually have the static IPs at your disposal from your ISP. Next, you'll need the physical machine to have multiple IP addresses assigned to it. You can do that by using multiple physical network interfaces, or by using IP aliasing, which enables a single physical network interface to have multiple IPs associated with it. If your server machine is a *NIX box, you can find a guide on how to set up IP aliasing here; I have no idea how to do the same on Windows.
Since your server is inside your LAN, you'll want to assign 3 static, local IPs to it. Most NAT routers employ DHCP to spare their clients the trouble of setting up static IPs, so you'll want to take care to assign IPs that fall outside of the DHCP range (or just disable DHCP alltogether and use any IP you like). Also, be careful not to use the local IP used by the router (often the first IP in its network). Let's say the local IPs you've assigned are:
Now would be a good time to configure your virtual machines to each use one of these IPs. I don't know which virtualisation solution you're using and have never done anything like this regardless, so you'll have to dive into its documentation.
Then, you'll need to configure the firewall on your NAT router to accept and forward requests for each of the external IPs to a corresponding local IP of the physical server. Each external IP should correspond to exactly one local IP. So what you would have is:
You can usually allow/disallow ports and protocols at will here; unless you have specific needs, I suggest you keep the allowed traffic to a minimum of maybe SSH, FTP and HTTP(S).
18.104.22.168 <--NAT--> 192.168.0.2 <--IP aliasing--> Virtual Server One
22.214.171.124 <--NAT--> 192.168.0.3 <--IP aliasing--> Virtual Server Two
126.96.36.199 <--NAT--> 192.168.0.4 <--IP aliasing--> Virtual Server Three
That should about do it. To test if it works, remember to access the external IPs from outside your LAN.
*EDIT: I just remembered why I thought you were talking about Apache virtual hosts; because your topic title has "Apache" in front of it. So which is it, are you using actual virtual machines or do you want Apache virtual hosts?