In its simplest form you want to be looking at using a flag variable like "Carrying" to see if you're carrying something, and use a private variable as a flag for instances of your objects you want to carry.
To pick up an object:
Button Pressed
+Carrying is 0 (false)
+Overlapping object
---PrivateVariable=1
---Carrying=1
To drop an object:
Button Pressed
+Carrying is 1 (true)
+PrivateVariable=1
---PrivateVariable=0
---Carrying=0
---[Update object with new position coords]
And use an Always to position object above player:
Always
+Carrying=1
+PrivateVariable=1
---[Position object above player]
You can improve it by making sure that you can't pick up whilst overlapping more than one object, and you can't drop whilst overlapping another object.
Krush.