I would like to source NAT traffic twice on my device. See the scenario below:
I have two Routing Instances, A and B. My default route for A is to table B. I want all traffic that will take the default route to be NAT'd to an address before it reaches routing instance B. I want routing instance B to only have a route for the source nat pool back to Routing Instance A rather than having to share all of my routes from RI A to routing instance B.
Is this possible without configuring another Routing Instance that acts as a 'staging instance' or another physical interface interface that acts as the same?
If you use the SRX flow based then you do not need any route for the reverse traffic.
Only the initiating packet needs to have a route lookup, the backwards response traffic will have an automatic session table entrance which is the inverse of the initiating packet and any packet will be automatically forwarded without any policy or route lookup.
So IMHO you do not need any routes in B or a double NAT
If I'm understanding you correctly, traffic from my routing instance A will never hit routing instance B if I have shared the default route from B to A.
Meaning as long as I do not have any route sharing outside of the default route, Routing Instance B will never be able to route to A?
Tested this in my lab:
Just updated my routing table to ensure that RI B does not have routes for A, initiated traffic from A that will hit B. Traffic goes back out default route's interface in RI B due to lack of route for return traffic.