Yes, the metric tensor can always be diagonalized. That is because the metric is by definition real symmetric, thus it can always be diagonalized by some appropriately chosen orthogonal matrix:
\begin{equation}
g = Q g_{d} Q ^{-1}
\end{equation}
where $g = g^{T}$ the original metric, $g_{d}$ the diagonalized form, and $Q$ the orthogonal matrix ($Q^{T} = Q^{-1}$).
This is a specific case of the spectral theorem for normal matrices, which says that a general matrix can be diagonalized by unitary matrices if and only if it is normal:
\begin{equation}
M^{\dagger} M = M M^{\dagger} \iff M = U D U^{\dagger}
\end{equation}
where $D$ is diagonal and $U^{\dagger} = U^{-1}$. Obviously in the case that $M \in GL(n, \mathbb{R})$, then $U$ is also a real matrix, and thus the unitarity condition becomes an orthogonality one. And if $M = M^{T}$, then it is trivially normal, thus it can always be diagonalized.