Q:

How to return the SKSpriteNode within given constraints following an event?

Suppose the following:

You have a myriad of SKSpriteNodes in the view. 
When the user taps the screen, you want the whatever sprite that is in / near a specific location to do an animation.

Question: How can figure out which SKSpriteNode is at the specific location without looping through all sprites?
For this, I have implemented a SKSpriteNode, box, which is transparent and has a texture which covers the span of the specific location, and is positioned accordingly.
The SKSpriteNode methods contains and intersects seem promising, but require that I pass a point or a sprite respectively. 
Question: How can I get a SKSpriteNode to report what sprite, if any, it intersects with? Again, without looping through every sprite. If two sprites intersect with box, then return only that which is most prominently intersecting with box.
Diagram:
This is not my actual use case, but illustrates the point. There are a lot of sprites (more than visualized below) and there is an area of interest that:

if the user touches, and
a sprite is in that area

I want to know what sprite is there.

A:

There is no way to do this without SOMETHING looping through the sprites. That's either:

The physics engine, as Stoneburner suggests
The scene, via update() setting flags on sprites when they're in the
region
Your code that handles the touch, searching for sprites in the region

GameplayKit offers some optimisations on doing this sort of thing: https://developer.apple.com/reference/gameplaykit/gkrtree

