The firmware currently supports toggling unassigned pins using the a/A/@ syntax. For example a.7 makes pin 7 low, A.7 makes it high, and @.7 makes it an input. This is an extension of the Bus Pirate 3 which used a/A/@ to control a single aux pin. It accepts any format value, so a.0x01 and A.0b1 both set pin 1.
I think it might be useful to make the binary format into a manual bitbang kind of thing. for example:
a.0b00001111
set pins 0-3 low (bitmask style).
The command line parser passes the user input format to the all the utility functions, so the aux function already knows how the user formatted the input.
Another thought is that maybe there should be a config override to force unavailable pins to certain states. If four pins are occupied by SPI, we could still make a good faith effort to set them how the user asks.