Turns out it's super easy. I used AudioEndPoint.GetList to generate the list of audio devices that I had on my machine (first I used OSD to display them then realized it would be more beneficial to use File.Write to actually save them somewhere). Then I correlated those to the actual outputs from the sound card. Now I can just use AudioEndPoin.SetByNum or SetByName to set the output depending on what room I'm in (based on the info from the motion sensors of course).
So for example this is the list it gave me (comma delimited):
Wave Out 2/3 (kX 10k2 Audio (3550) - Generic),Wave Out 6/7 (kX 10k2 Audio (3550) - Generic),Wave Out 4/5 (kX 10k2 Audio (3550) - Generic),Wave Out 6/7 (2- kX 10k1 Audio (3550) - Generic),Wave Out 2/3 (2- kX 10k1 Audio (3550) - Generic),SPDIF/AC3 Output (2- kX 10k1 Audio (3550) - Generic),Master Mixer (2- kX 10k1 Audio (3550) - Generic),Master Mixer (kX 10k2 Audio (3550) - Generic),Headphones (2- High Definition Audio Device),SPDIF/AC3 Output (kX 10k2 Audio (3550) - Generic),Wave Out 4/5 (2- kX 10k1 Audio (3550) - Generic),Digital Audio (S/PDIF) (2- High Definition Audio Device),AMD HDMI Output (AMD High Definition Audio Device)