As for your first question, maybe this can help? Can I use Pyro to build a factor graph model?
If you model the factors as Pyro samples, then I guess you can put them at the intersection of two plates by using code similar to Tensor shapes in Pyro — Pyro Tutorials 1.8.4 documentation