It would be much more complicated to do this (giving two hieghtfields two different textures). You'd have to set up two different shader node groups, one for each hieghtfield, and plug the different hieghtfields into it's own shader node group. A mask would have to be used to constrain the shaders to a particular hieghtfield. Then use a merge function to bring it all back together.
I do not think I would try this. It would be like having two different terrains located next to each other. It would be easier to use separate surface layers (I use stone, rock, sand, and then grasses). Each succeeding layer cover the one before it. By using the altitude and slope constraints, and adjusting the coverage and fractal breakup, you should be able to do nearly anything.