If you add 'system for each instance' to your can move checks then this could work but you might not have too much control over it. During such checks change a variable on that instance, so let's say variable1=yes if it can move and variable1=no if it cannot move. This would be updated throughout the game I imagine and allow you to see what can and cannot move.
For the game end functionality, try system for each instance where variable1=yes. Then on the actions set a global variable to object.pickedcount. That variable value will be the number of instances that can still move, if it's 0 then that means none of them can move.
Of course you can do this the opposite way if the total number of instances is known you can check where variable1=no and check that object.pickedcount is equal to the total number of instances.