I know you can only get 2 Master Balls, is there any way to catch the other Swords of Justice as well? Can you get more Master Balls?
Yes you can, well except for keldeo. I dont think that you know this but you dont need a master ball to catch legendaries. Any pokeball can catch any Pokemon. It's just harder to catch legendaries but you can do it with another pokeball. I suggest use ultra balls because of the high increase in catch rate but you can get more master balls from join avenue's raffle.
-keldeo: only event based, so you must wait for an event or GTS.
-Terrakion: route 22
-Virizion: route 11
-coballion: route 13
Source: experience and strategy guide
You can get unlimited Master Balls by winning them in Join Avenue. As for the Swords of Justice I assume you mean Cobalion,Virizion,Terrakion, and Keldeo. You can catch all but Keldeo which is event only.
Yes you can catch 3/4. You can win a Master Ball at your Join Avaneu's raffle stand. Keldeo is a event only and sadly it passed. The other three can be found along routes of the game they should be easy too spot out.