Hello,
I suggest You don't go along this path (separate routing-instances just for MPLS).
The reasons are:
1/ All MPLS protocols also rely on IGP (except static MPLS LSP) so You are looking at another IGP inside Your "MPLS routing instances"
2/ routing-instances do not provide 100% separation since they share the common Routing Protocol Daemon process
3/ only LDP is supported inside JUNOS routing instances so no traffic engineering of any sort.
4/ if You plan to run IP internet access/peering service in Your network, then all routers must have full IP routing tables for optimal routing, so no BGP-free core is possible.
The current best practice is to run MPLS transport for all services including IP internet access, making use of BGP-free core which then could be built on low-latency boxes.
HTH
Thx
Alex