I understand your reasons. To me they look like reasons for separate
firewalls on separate boxes. In the scenarios you mention, would you
put separate firewalls on one machine?
If I was going to put them all on one machine, I'd separate the
administration of the box itself (me) from the people responsible for
rule sub-sets. E.g. if one sub-firewall is dealing with traffic between
NICs 1 & 2 (call it channel A), another between NICs 3 & 4 (call it
channel B), I'd have the channels A and B admins submit rules sub-sets
via rsync to the box. My script would then sanity check (ensure that
they only dealt with the interfaces they were assigned) then incorporate
all of them into a master rule-set that would then get tested and then
put on-line. I would think that this, being only one firewall, would be
simpler than several firewalls in VMs on one box; possibly more secure
given the comments in this thread about the porus isolation between VMs.
That's just how I would think of it. OTOH, I've never done any
virtualization and never been into a proper data center.