I can operate on a $3\times 1$ vector, $a$, with a $3\times 3$ rotation matrix, $r$. Such that $r a=b$, another $3\times 1$ vector.
If I have $N$ of these vectors and rotation matrices I can stack them to create matrix $A$ with dimension $3\times N$ and matrix $R$ with dimension $3\times 3\times N$. Is there a way to make $R$ a $N\times N$ matrix that preserves its information? So that I can operate on $A$ from the right to find $B$? or $A^T$ from the left to find $B^T$
Short answer is almost. The long answer requires to do some precisions:
First, if you "stack" a $3 \times 1$ column vector $N$ times you get a $3N \times 1$ column vector, not a $3 \times N$ matrix.
Second, the matrix $R$ should be $3N \times 3N$ square matrix, as it has $N$ number of $3 \times 3$ matrices on its diagonal and zeros everywhere esle.
So if you stack your $N$ vectors in a $3N \times 1$ vectot $A$ and arrange your matrix $R$ of dimension $3N \times 3N$ as described above you will get $ R A = B$ and $ A = R^T B$ as you want.
TL;DR
Now that will be extremely slow in a computer. In order to do better you will need to use sparse matrix multiplication since the matrix $R$ is sparse. However, I think doing the individual $3 \times 3$ matrix multiplication with a $3 \times 1$ column vector will be much faster since modern linear algebra libraries use vectorized instructions for those tiny matrices which would reduce the multiplication time by a factor of four.