Using shadows as texture masks?
Compositing with Shadow Pass Mask

It seems compositing and shadow pass mask is the way to go with this in Cycles. 

Once everything is set the render output would be the result of compositing so there is nothing complex to repeat at all. It is possible to hide the extra texture inside the shader with very low emission values that would not add to the 'exposed' visible range of the colors so no extra render layer would be needed and the extra emission shader does't influence the render times in any meaningful way. We could use emission strength of 0.0001 and in compositing just multiply the emission pass by 10000 and since the values are 32 bit floats, there would be no loss in color detail.

You would need to add an Emission shader to all of your materials that would contain the shadow texture for them(even if you wanted the same texture it would need to be there so it does not render black). You also need to have all the passes needed to reconstruct the image enabled. If you needed an emission pass for regular use, some extra masking may be required to separate the actual values from the ones 10000 times weaker, but it could be something like this:





Just to clarify - the emission pass in compositing is multiplied with a simple Color Mix node in Multiply mode entering 10000 as R,G and B values: