Oh, I forgot to address the actual point you made. No, JACK only works with one device.
If you have several physical devices which are genuinely sync'd you can just use ALSA to weave them together. If they aren't synchronised bad stuff may happen.
The reason for working with one device is that JACK's graph execution goes like this:
1. Interrupt from hardware indicates that, say, 128 frames are ready
2. Copy 128 frames from recording buffer into JACK buffers 128 samples long
3. Execute the entire JACK graph for these 128 frames
4. Copy 128 frames of output from JACK into ALSA
If JACK was willing to work with more than one device, which interrupt does it wait for? What does it do with parts of the graph which require data from more than one input device? Or send data to more than one output device?
Lots of complexity, for a corner case no professional audio people care about (they either have only one device, or their devices can be clock-locked and woven into a single virtual device) and no consumers have the gear to test.