I would do this with only one ball,
- A draggable Ball that appears at Canvas TouchDown and disappears at Canvas TouchUp.
I would keep lists of number locations and values on the Canvas, and draw the Disks first, then overlay them with numbers.
At TouchDown I would highlight the disk to seem to be dragged, or erase it with a redraw, or blink it with redraws under Clock Timer control between TouchDown and TouchUp, and start my Ball there.
At TouchUp I would run through my list of disks, to find which (if any) of them overlap with my Ball, using geometry. The winning disk gets to be redrawn and have its value reassigned, and the source disk gets to be erased with a redraw and gets removed from the table of numbers.
For user friendliness, the closest target disk could be highlighted with a blinking inactive Ball.