Does Juce have any support for building cross platform virtual audio devices, ie appears as an audio device and sends audio to physical devices?
No, it only has the support for interacting with existing drivers. So it can do the later part of what you want but you would have to write the parts that present it as a virtual audio device to the system.
What do you want your virtual audio device to do? You can subclass AudioIODeviceType and add it to the device manager. For example, I had an app that I wanted to turn into a plugin. Instead of refactoring the entire app to not access the DeviceManager, I just added a new AudioIODeviceType that reads/writes it’s audio to the plugin callback. You could create a AudioIODeviceType that reads/writes from multiple audio devices, but I don’t know you’d keep them in sync.