I think you can make use of the manage relational data server behavior in DatAssist to manage this linking table based on the values that you select in the form. If you have not tried using this server behavior I would suggest taking a look at it from the help to see if this will fit your needs. If it looks like it might you should make a backup of your pages and test out the manage relational table server behavior.
This server behavior will do just what it's name says, it will allow you to make some selections and have the joining table updated based on the values you are selecting. There are some threads here on the forum that deal with using this server behavior that you may find very helpful.