Suppose I have registers $|a\rangle^{l}|b\rangle^{l} |c\rangle^{l}$ and want an adder mod $l$ gate between the $a$ and $c$ registers. Let $R$ be the adder mod $l$ gate. So is this the correct notation for an operator $U$ that implements this $$ U=R\otimes I_b^{\otimes l}.$$ But how do I convey that $R$ is between $a$ and $c$ and $I$ is for the register $b$?
Personally, I would just define $R_{ac}$ to be the unitary that acts $R$ between registers $a$ and $c$, and acts as identity everywhere else.
As always with notation there is not a "correct" way of doing things: it's just arbitrary conventions.
The most readable notation I see for your example involves separating the unitary $R$ into 2 virtual unitary matrices:
- $R_a$ the portion that acts on $\vert a \rangle^l$.
- $R_c$ the portion that acts on $\vert c \rangle^l$.
and "defining" $R$ as $$ R = R_a \otimes R_c. $$
I called the matrices $R_a$ and $R_c$ "virtual unitaries because it is likely that they do not exist: the decomposition $R = R_a \otimes R_c$ will probably be impossible to compute because the matrix $R$ cannot be split as 2 separate transformations on $\vert a \rangle^l$ and $\vert c \rangle^l$.
Warning with this kind of non-standard notation: as the matrices involved are not really matrices (they are introduced just for the notation and might not exist), it may add more complexity/confusion than it helps.
In the end, your operation on $\vert a \rangle^l\vert b \rangle^l\vert c \rangle^l$ may be written as $$ U = R_a \otimes I \otimes R_c. $$