I have experience with LAPACK (direct solvers) and ARPACK (sparse iterative solvers), but are there any sparse direct solvers? I am concerned more with preserving space than with fast solutions. ARPACK is fast when it converges, but seems to struggle when many eigenvalues are degenerate.
There cannot be. The problem of finding eigenvalues is nonlinear, and it can be shown that finding eigenvalues of a matrix is a problem that is equivalent to finding roots of polynomials. We know that the latter only has solutions that can be computed in a finite number of steps for polynomial degree $\le 4$ in general. If there was a direct solver for the eigenproblem, it would also provide a way to find the roots of arbitrary-order polynomials.
In other words, any algorithm to find the eigenvalues of a matrix beyond size 4 must necessarily be iterative.