A while ago I created a patch to make it possible to bind the RPC port to a specific address or even multiple address/port pairs.

https://github.com/bitcoin/bitcoin/pull/3695

I'm fairly confident that it works, but it cannot hurt if some people that need this functionality tested it before merge. Test results from normal setups as well as weird corner cases (IPv4+IPv6, VPNs, ...) are welcome.

Regards,
Wladimir