So object #1 should be dragged by simply touching anywhere on the screen, right?
If #2 is a large invisible background sprite with Drag and Drop behavior, then on drag start you can attach #1 to #2 as a child with hierarchy. Then #1 will move with #2. On drop - remove the hierarchy.
And while dragging limit the position of #1:
Object2 On Drop
OR Object2 is dragging : Object1 set x to clamp(self.x, left_border, right_border)