The only idea I can come up with for now is to use another texcoord register which you already set depending on the diffuse color within the vertexshader.
In the pixelshader you can then just use the dotproduct with the hatching pattern textures color.
The problem there is interpolation, but I doubt that you will stay wthin the limits otherwize. I would try "if", as I think that calculating the values would be a bit more complex in the end.