As far as I know, very few Linux firewall implementations provide this capability.
There are some technical hurdles to doing this... specifically because traffic must be "broadcasted" so that it gets routed to another "virtual ip / adapter". I'm a bit unclear about this.
Off the top of my head, the only one I know of that can do this is..
Untangle -
http://www.untangle.comThey call it "Re-Router Technology"
I tested it awhile ago, while it works, Untangle takes an awful amount of resources for a firewall OS.
Another option is running whichever firewall you install on Vmware and create multiple virtual nics.
This does work, but has several drawbacks which I won't go into.