What size circuits make up your backbone? If they are bigger than T1, you are probably better off skipping cRTP on the core anyway, and T3 is the maximum size supported for cRTP. For cRTP to work, the services PIC (or software in the J-series) has to be able to identify the packets that make up the same UDP flow via IP address and port information. If you are not sending UDP (such as because the traffic is MPLS), then the software has no method to group packets of the same flow together. This means you add processing resources on either end of the circuit in favor of reducing the header size to cut down on serialization delay over slow pipes.
The next question is why do you plan to use MPLS? Remember that putting MPLS in the core will actually add another layer of encapsulation to your traffic. Sure, MPLS is suppose to make switching faster at the device level by reducing processing time since you just lookup labels rather than IP info, but at the cost of extra encapsulation overhead. This is generally preferred in core links where the speed of the link can make up for the cost of the extra label overhead.
So in concept, you have two different protocols performing the opposite functions to optimize in different situations. If you really feel you need both, then just configure them at the points where they are optimized. MPLS can stay on the core, and cRTP can still help on your edge-to-CPE links. Trying to add any tunnels in the middle just for the sake of using cRTP would really defeat the purpose.