In the event that you still want to do this the steps are:
1. Get the world space ray from the mouseposition.
Ray r = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
2. Derive a plane from the sprite.
Plane p = new Plane(sprite.transform.forward, sprite.transform.position);
3. Check if hit and get local world position
float hitD = 0.0f;
if (p.Raycast(r, out hitD))
{
Vector3 point = r.GetPoint(hitD);
Vector3 localPoint = sprite.transform.worldToLocalMatrix * point;
// do stuff here
}
4. localPoint is in the sprite local space (x -> right, y -> up). You can compare the x & y coordinates of localPoint to the bounds to see if it fits a bounding box, etc.
This will work regardless of the orientation of the sprite, camera, etc, even if they are in full 3d and not facing the camera. If the sprites will always face the camera and camera never rotates, then you can make a lot of assumptions and make things a lot simpler.