Contact can work also when the parts don’t touch initially. Once you specify that two surfaces are in a contact pair and define the behavior in both directions (normal and tangential) the software will automatically detect whether these surfaces are in contact or not. So they can start as separated, then come into contact (and the forces will be properly transmitted through the contact interface), then separate again or slide on each other due to applied load and so on. The only problem with such cases is that convergence issues may occur in a static analysis if the model relies on contact to eliminate rigid body motions. But you could use a dynamic analysis or apply some tricks (such as displacement control) in such a case.
I don’t use MPCs in CalculiX but they can be (and often are) nonlinear and are able to model quite complex interactions so maybe they could help in this case as well. After all, they are sometimes used in place of contact: