Some comments:
1. Master and slave on same PC over a network connection should work fine. Use 'localhost' or 127.0.0.1 as destination, or even the local IP. There is no requirement that the data actually hit the ethernet wire with the loopback interface.
2. With serial, as already mentioned, would require two serial ports, but will still work. I usually do this with two USB/RS232 adapters, or some vendors sell multi-port USB/serial adapters so would only need one of these.
3. The Redlion emulator actually picks up a different IP address than the host it is running on so I think it must bridge in code, so in this case, you wouldn't use localhost but rather the configured IP.
If this is a quick test to be sure everything works correctly before deployment then the free tools listed above are useful. But if this is a customer demo or if I wanted to be fancy to show upper management, I would probably spend some money on more professional software designed to do what you are asking - it looks like peakhmi would do it. For instance, I wouldn't showcase our newest technology by using someone else's Modbus slave emulator that is branded and only works for 15 minutes.