When you have overlapping markers like this it's best to think about grouping or clustering them and then allowing users to select from the markers grouped at that location. There are some open source solutions like this one or this one that you can use. I had a similar issue and ended up building my own marker grouping class to handle sorting between people, places, and other objects.
The only other work around I can think of would be to store references to all your markers in a collection so that, on click of one marker, you could search for others at the same location. If you were able to then distinguish between which marker is A and which marker is D you could manually trigger the click method for the marker you desire.