Is there any standard notation for specifying dimension of a matrix after the matrix symbol? I want to explicitly specify dimension of matrices in some expressions, something like 
$$\boldsymbol{A}_{m \times n} \boldsymbol{B}_{n \times m} = \boldsymbol{C}_{m \times m} \, .$$
Is there any more or less standard notation for this?

While this notation is generally unambiguous, I think it become ambiguous, for example, in the following case. Suppose that I have some column or row vector which is conjugate transpose of correspondingly row or column vector. If I write it in the following way 
$$\boldsymbol{A}_{n \times 1}^{\dagger} \, ,$$
we can have 2 different interpretations:


*

*matrix $\boldsymbol{A}_{n \times 1}$ is $n \times 1$ column vector and by
$\boldsymbol{A}_{n \times 1}^{\dagger}$ I'm referring to its
conjugate transpose which is $1 \times n$ row vector;

*matrix $\boldsymbol{A}_{n \times 1}^{\dagger}$ itself is $n \times 1$ column vector which is conjugate transpose of $1 \times n$ row vector $\boldsymbol{A}$.

 A: We've always used $$\boldsymbol{A}\in\boldsymbol{M}_{m\times n}(\mathbb{R})$$ to say that it's a real-valued matrix of size $m\times n$.
So I guess a more general form would be $\boldsymbol{A}\in\boldsymbol{M}_{m\times n}(F)$ for a matrix with entries in some field $F$.
A: Sometimes your notation is used. The problem of the ambiguity of $X_{m \times n}^T$ comes from the wrong usage. There is no such thing as $X_{m \times n}^T$. Instead, there is $X_{m \times n}$ and there is $X^T$. Combining these two will give you either $(X_{m \times n})^T$ or $(X^T)_{m \times n}$, and removing the parentheses implies that $*_{* \times *}$ and $*^T$ commute (like, for example, $X^{-T} = (X^{-1})^T = (X^T)^{-1}$), which is wrong.
However, I see very little, if any, practical usage in this kind of typesetting. More or less standard way is $X \in \mathbb{R}^{m \times n}$ or $X \in M_{m \times n}(\mathbb{R})$, and then you just use $X$. Writing dimensions in the formulas might make sense at the very beginning of learning this stuff, but not for long, and in this case, parentheses also make a lot of sense.
For anything more advanced, let me give you an example: would you, in a similar fashion, write
$$x_\text{even} + y_\text{odd} = z_\text{odd}?$$
Properties of the objects usually unnecessarily clutter your formulas, and are far better to be declared before the first use, instead of all the time. IMO, of course.
A: As requested, the subscript $m \times n$ notation is perfectly common, if not standard.
Of course, we can always use parenthesis to resolve any difficulties. It should be clear that $$\left(A_{m\times n}\right)^T = \left(A^T\right)_{n\times m}.$$
Of course, with a simple operation like the transpose, it looks much nicer as just $A^T$, or, if necessary $\left(A_{m\times n}\right)^T$. The dimensionality of the resulting transpose should be obvious.
Nevertheless, it's not bad practice especially for teaching to remove any possible ambiguities when doing several matrix-matrix or matrix-vector multiplications.
