The title says what, as to why you would want that, to allow texture channel packing to reduce the number of textures loaded to the GPU,
As someone already explained to me there is a good reason why the node requires a texture to function, but the user should have the option of choosing the channel, if say the users project already uses mask or detail maps and they have an empty channel there or if they already have a suitable map in their textures but not on the red channel, they should be able to feed that to the node and pick from a dropdown menu which channel from RGBA is used by the POM.
It’s a bit unfortunate they haven’t implemented that yet. All they need to do is add a 0-3 range integer property on the node and use it as the channel index for the sampled texture. Performance should still remain optimal in existing use cases of the node as the value wouldn’t have been driven by per-fragment calculated sources and thusly the shader compiler would be able to see the value isn’t changing per-fragment.
I created an example Custom Function node that does just this:
I’ve also included a basic ShaderGraph file with it setup with adequate values.