Specifically I would like to use it for the normal map and the opacity.
What you call render pass in babylon is usually represented as a render target texture where you could render the scene or anything you actually need.
The strong advantage is that when you want to use it, it can directly be used as any other texture input.
So yup this would definitely work.
Thanks @sebavan. Can you direct me to an example of this?
You could either look at which internally rely on renderTargetTexture: Use Procedural Textures - Babylon.js Documentation