I was hoping to be able to access both the shadow map and the stencil buffer from fragment shader so that I can treat both colour values the same...
What you're trying to do sounds wrong. Shadow maps contain depth values, stencil buffers contain integers in the range 0-255. There's no color value.
As you probably know, the ambient factor of shadows in maps is just a constant you add at the end of the lighting equation
Not exactly. The lighting equation looks like this in Marathon:
half3 color = (normalMapZ * AMBIENT_PRODUCT + diffuse * shadowTerm * DIFFUSE_PRODUCT) * decal.rgb;
Then you have specular, fog, etc.
whereas in shadow volumes, the alpha of the full screen quad changes the ambient factor of the shadows.
There's no full screen quad in any shadow volume algorithm I've seen.
The idea was to access the stencil buffer to unify shadow maps/shadow volumes in their ambient factor so that I can mix and match them.
That's easy. Render an ambient only pass first (that also inits your depth buffer, nicely and fast), then render each light using either shadow maps or stencil volumes or both, without worrying about ambient (the shader should only add more light to the scene).