This is probably the most efficient way to do it. The problem here is that pattern matching is in general very complicated. You cannot just say to the computer “take into account Einstein equations” expecting that it works.
If you try to impose a substitution rule like
RicciCD[m,n]-1/2 RicciScalarCD[]g[m,n]->T[m,n]
the computer will only substitute those terms which are exactly identical to that combination. For instance, it wont substitute things like
RicciCD[m,n]-6 RicciScalarCD[]g[m,n]
although this should be simplified when taking the former into account.
Thomas´s suggestion is the best procedure. Try to reduce your system of equations to basic constituents and then reduce the expressions by using those. Following the previous simple example, choose the rule to be
RicciCD[m,n]->1/2 RicciScalarCD[]g[m,n]+T[m,n]
and everything should work fine.
Cheers,
Mario