In terms of movement you can do it a few ways. One is to say if pickup.ID = slot.ID then set pick up position to slot, that way when you subtract 1 they will automatically move down a slot i.e. pickup.id=4 will become 3 and set its position to slot.ID=3
You don't need that event for slot number you should just set the variable in the editor view.
For the other one its because when you do on destroyed it narrows picked instances to 1, you then cannot pick more unless you do a sub event 'system pick all pickup', this opens them all up to be picked again, and then you can do the other event after it.
Looks like you are on your way, with some tweaks and edits you will get there eventually with this mechanic.