I use Arnold in my day job and and quickly switching between individual passes whist shading is invaluable in my workflow even for debugging render errors or noise and optimisation. I don’t think its doable by default in blender but perhaps someone knows of an addon perhaps that will do this?
AO can be enabled in the viewport, you also have an AO shader which you could set as displey shader in the nodes setup.
for certain bitmaps like specular and such texture view is sometimes useful.
false colour and the like in colour management helped sometimes
Closest I ever got to this was having a set of nodes that I would connect to the output node seperately (or mixed) and view from material shading mode.