Who cares if there are only 8 virtual NICs. Use ifaliases or define a multitude of VLAN interfaces that are bound to a suitable set of physical interfaces.
For example I have 2 NICs in a bond connected to 16 different public IP subnets. Some have different tags, others have the same tag but different netmasks. there is no reason why the virtual router can't do the same.