Yes, because SPRITE COLLISION returns the sprite number (if you use a target sprite number of zero) you can use that to "pick up" the specific sprite from the screen.
Same code above modified to "pick up" a sprite with the mouse button:
cls rgb(255,0,0)
get image 1, 0,0,1,1
cls rgb(0,255,0)
get image 2, 0,0,50,50
cls 0
sync on
sync rate 30
` Put a few sprites on the screen
for t=1 to 20
` Place the sprite
sprite t,rnd(screen width()),rnd(screen height()),2
next t
` Set the starting sprite number for pickup (0 = No sprite)
CSprite=0
do
SPRITE 1, MOUSEX(),MOUSEY() ,1
` Show the current sprite being picked up
if CSprite>0 and CSprite<>2
` Show which sprite is picked up
text 0,0,"Sprite #"+str$(CSprite)+" is picked up."
` Show the picked up sprite at the mouse coordinates
sprite CSprite,mousex(),mousey(),2
endif
x=x+1 : if x>320 then x=0
SPRITE 2, x, 100, 2
if MOUSECLICK()=1
` Find out which sprite is colliding with sprite number 1
CSprite=sprite collision(1,0)
else
` Reset CSprite (drops current sprite from dragging)
CSprite=0
endif
sync
loop