Well as you need the normal anyway for the diffuse part you don't have to pass it separately to the PS, sorry for the misunderstanding.
Something like
float fac = saturate(Input.InNormal.y*9); //control the sharpness of the blend with the factor ("9")
float4 ReturnTexture = lerp(RockTexture,GrassTexture,fac);
should do the trick (if I understood your issue correctly). Of course you have to tweak it a little here and there.