I think there is a way to do what you want. It involves using the HomogenizedVolume class (as opposed to the newer KDTree class) for decomposing the volume before raycasting in the camera object. I have an old script that did this, but I just tested it out, and it no longer works in the current yt paradigm. I poked around and cannot seem to get it to work to do what you want. Unfortunately, the main point of contact on the HomogenizedVolume class is Matt, and he's currently on his honeymoon for a few weeks. Furthermore, I think the path forward in yt was for completely doing away with the HomogenizedVolume class in the near future, as it is now almost a subclass of functionality of the kdtree. I think one of the main pieces of functionality that was holding up this changeover was that which you have discovered--being able to specify data sources to the camera object for rendering, as Nathan alluded to above.
Sam, what is the status of the kdtree being able to handle arbitrary data sources for rendering?
For reference, I've attached a modified form of my old script (along with some comments for options that wouldn't successfully run) which could do this circa 1.5 years ago here: http://paste.yt-project.org/show/3750/