I don't know of a program that does exactly what you want, and would be surprised if it existed.
It would not be very difficult to write a python script to do this using BioPython. Once you read in all the atoms, it is simply a matter of going through all atoms that interest you and making a loop that calculates geometric distances between them.
distance = sqrt ( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )
where x1, y1, z1
and x2, y2, z2
are the coordinates of the two atoms. I wrote a program a long time ago that does just that and outputs atoms and distances (see below), but it is written in Free Pascal
and not suitable for sharing.
PS You probably want to exclude N+1 (and possibly N+2) residues, because many of them may have sidechains that are close but are not really interacting.
N MET 1 OD2 ASP 28 4.23 CA-CA 5.89 CB-CB 4.91 CA-CB 4.57 CB-CA 6.33
N MET 1 N PHE 266 4.36 CA-CA 5.25 CB-CB 4.97 CA-CB 5.19 CB-CA 5.45
N MET 1 C PHE 266 3.88 CA-CA 5.25 CB-CB 4.97 CA-CB 5.19 CB-CA 5.45
N MET 1 O PHE 266 2.71 CA-CA 5.25 CB-CB 4.97 CA-CB 5.19 CB-CA 5.45
CA MET 1 CG ASP 28 4.09 CA-CA 5.89 CB-CB 4.91 CA-CB 4.57 CB-CA 6.33
CA MET 1 OD2 ASP 28 3.34 CA-CA 5.89 CB-CB 4.91 CA-CB 4.57 CB-CA 6.33
CA MET 1 O PHE 266 3.84 CA-CA 5.25 CB-CB 4.97 CA-CB 5.19 CB-CA 5.45