You are setting instance variable pickedUp on a slime! Each slime has its own pickedUp variable.
When you pick one, its variable is set to true.
The next time your character is overlapping another slime which has pickedUp=false, that's why you pick up the second slime.
You should create a boolean variable on the character (Sprite2).