You might need several different objects, so I would suggest having a band of parent objects - these would be placed, ready for picking up.
Let's say you have an object called teapot.x...
Load object "teapot.x",10
position object 10,-5,-5,-5
position camera 0,0,-25
So that 'might' position it on the screen for you. It's best to have your pickable objects in a set range, say objects 10 to 20 - because you have to specify a range when using PICK OBJECT().
Then you could have a main loop a bit like this:
Obj=100
Do
if mouseclick()=1
if pickobj=0 then pickobj=p : inc obj,1 : clone object obj,pickobj : position object obj,object position x(pickobj),object position y(pickobj),0
xx#=object position x(obj)
yy#=object position y(obj)
inc xx#,mousemovex()/100.0
inc yy#,mousemovey()/100.0
position object obj,xx#,yy#,0
else
pickobj=0
P=pick object(mousex(),mousey(),10,20)
void=mousemovex()+mousemovey()
endif
Sync
Loop
Not tested any of this code, as it's just to give you an idea - but it will wait until you click and drag an object, then it will clone it, and position it depending on the mouse movement. I'd be happy to make a small example, if you need it.

Health, Ammo, and bacon and eggs!
