Enforcing uniform vertical spacing for sub and superscripts using different letters

You can use a number of \vphantoms, choosing the largest component - f - and \vphantom{f} with the other, smaller elements:

enter image description here

\documentclass{amsart}

\begin{document}

$q_\ell^{\scriptscriptstyle {\alpha}_{c\ell}}
 q_f^{\scriptscriptstyle {\alpha}_{cf}}
 q_x^{\scriptscriptstyle {\alpha}_{cx}}
$\quad
$q_{\vphantom{f}\ell}^{\alpha_{c\ell\vphantom{f}}}
 q_f^{\alpha_{cf}}
 q_{\vphantom{f}x}^{\alpha_{cx\vphantom{f}}}
$

\bigskip

$c_f^{\scriptscriptstyle \beta_f} 
c_\ell^{\scriptscriptstyle \beta_\ell}
c_m^{\scriptscriptstyle \beta_m}$\quad
$c_f^{\beta_f} 
c_{\vphantom{f}\ell}^{\beta_{\ell\vphantom{f}}}
c_{\vphantom{f}m}^{\beta_{m\vphantom{f}}}$

\end{document}

The spacing can be adjusted using any of the methods suggested in What commands are there for horizontal spacing?.


You can adjust the sub and superscript parameters see

What do different \fontdimen<num> mean

for a full list

enter image description here

By increasing the default amount they are raised or lowered you can get them lining up, the values here just chosen by eye, the original values shown in the log are

3.62892pt
2.47217pt

With the modified file being

\documentclass{amsart}
\begin{document}
\sbox0{$x$}% force math to load

\typeout{\the\fontdimen14\textfont2}
\fontdimen14\textfont2=5pt

\typeout{\the\fontdimen17\textfont2}
\fontdimen17\textfont2=5pt

$q_\ell^{\scriptscriptstyle {\alpha}_{c\ell}}
 q_f^{\scriptscriptstyle {\alpha}_{cf}}
 q_x^{\scriptscriptstyle {\alpha}_{cx}}
$\\[12pt]
$ c_f^{\scriptscriptstyle \beta_f} 
c_\ell^{\scriptscriptstyle \beta_\ell}
c_m^{\scriptscriptstyle \beta_m}$


\bigskip


$q_\ell^{{\alpha}_{c\ell}}
 q_f^{{\alpha}_{cf}}
 q_x^{{\alpha}_{cx}}
$\\[12pt]
$ c_f^{\beta_f} 
c_\ell^{\beta_\ell}
c_m^{\beta_m}$

\end{document}

I also show the version with normal sized superscripts (which look better to me especially as they are themselves subscripted)