@phil.davis:
Can't I just add two rules under the default rule on WIFI1? I.e., two not-rules just over/under each other?
Any special rules need to go before (above) the more general rules. The rules are checked from top to bottom, and the first match is what counts.
If you put 2 rules on WiFi1
(a) (destination !LAN) to WAN_DHCP
(b) (destination !WIFI2) to WAN_DHCP
then:
(i) traffic from WIFI1 to WIFI2 matches (a) - so it gets routed to WAN_DHCP
(ii) traffic from WIFI1 to LAN matches (b) - so it gets routed to WAN_DHCP
not what you want!
The rule on WIFI1 needs to be
(destination (!LAN and !WIFI2) to WAN_DHCP)
For that, you need an alias that covers LAN and WIFI2 together, and use (destination !alias) in the rule.
Wouldn't it be clever to implement AND, OR into the pfSense ruleset right away to be able to use them within the firewall rules? I think this would make sense, because the two dimensional matrix layout (aliases) doesn't suit very well for a three dimensional problem (single host aliases, groups of hosts, groups of groups meaning different layers).