Is it possible to render other materials besides volumes using a procidural texture to define "density"?
BSDF surface shaders only works on 'real surfaces', i.e. faces that are part of a mesh.  Surfaces inside a volume created by change in density will not be treated or rendered with a BSDF surface shader.

This image might be able to show you what I mean. The geometry has a volume shader and a glossy shader, driven by a checkered texture. Notice the shiny material is correctly applied only to the outside surface of the mesh. Interior surface boundaries remain non-glossy.