Is it possible to find interior eigenvalues closer to some lambda using Davidson method? I was searching online but found that most people use Jacobi-Davidson method for that.
It should be possible, but it might not be the most efficient. Here's how I would do it.
The Davidson method builds a subspace to represent a desired region of the eigenspectrum. The important parts of Davidson are the methods to add and remove vectors from that subspace. When comparing to 'normal' Davidson, I'll assume it is looking for the lowest eigenvalues.
Normally, Davidson adds the residuals from the lowest eigenvalue approximate solutions: $$ K (A - \tilde \lambda_i I) \tilde v_i \quad : \quad i < n$$ where $K$ is the preconditioner (approximate inverse), $\tilde \lambda_i$ is an approximate eigenvalue, $\tilde v_i$ is the corresponding approximate eigenvector, $i$ sorts in ascending order, and $n$ is the number of desired eigenvectors. You would want to change the sorting to be by distance from your desired eigenvalue.
Davidson adds vectors to the subspace at every iteration. If the starting guesses are bad and many iterations are required, the subspace gets polluted with the high eigenspaces. Normally, the approximate eigenvectors with large eigenvalues are trimmed from the subspace periodically. You would want to trim the eigenvectors that are the farthest away from your desired eigenvalue. The easiest way is to restart the procedure using your best approximations of the desired eigenpairs as the starting guess.