I am not sure I understand exactly what you want to do but often people who want internal boundary conditions, really just want to impose some constraints to a few dofs. This can be done using
AffineConstraints. I am sure that you have seen it in the tutorials where it is used to constrain hanging nodes and to impose Dirichlet boundary condition. Basically, you can create one yourself to impose any constraint you want on any dofs.
I hope this help.