Relating indexes for parameters and variables
Yes.

This appears to be an instance of the assignment problem.  In the assignment problem, you construct a bipartite graph.  The vertices on the left represent referees.  The vertices on the right represent matches.  You draw an edge from a referee $r$ to a match $m$ if the referee $r$ is potentially available to officiate in that match.  You can use the time() and avail() parameters to work out which edges to draw.  Then, a solution to the assignment problem (a maximum matching in this bipartite graph) will represent a way to assign referees to matches.  Thus, this captures the restrictions you want to enforce in a simple and natural way.