Actually the number of audio devices does not matter. You can create separate zones that output to a single device. Then each zone just acts as a set of stored settings (volume, DSP, playback options, etc). Each zone has its own Playing Now list (= playback queue).
If you have a zone for headphones you will just need to activate the "headphones" zone before adding files to its Playing Now or use the "Send To > Play (zone...)" right-click command.
For example, here are the zones on one of my machines (under Playing Now in the selection tree):

Click to enlarge.I use them for various purposes. Most of my zones output to the same audio device as the "Zone 1". Only the "Virtual Cable" zone outputs to a different output device (Disk Writer creates a wave file instead of playing through an audio device). For easier use, I have added the Zones and Playing Now buttons to the top Toolbar.
The Zones button:

Right-click the toolbar to configure the buttons:

If the current zone is not displayed in the top display you can customize it. Right-click the top display to customize:

This one shows the active zone's name when playback is stopped (Stopped Mode Status):
