Ok, so,
1) You want each enemy instance (Sprite2) to spawn this Sprite1 every time the player's circle collides with the enemy.
2) You want each Sprite1 (which was created before) to be destroyed if the player's circle is not overlapping the "parent" enemy any more.
3) You want everything above to be independent from each other, every instance to it's own in relation to the player.
Considering all the above, this is the best I can think of right now.
http://www.eli0s.com/Tests/SpawnedIDs.capx
I am using a distance check instead of the collision polygon of the circle (I've left the circle visible for illustration purposes) and instead of spawning the Sprite1, I set it's opacity to 100 when the player is within the desired distance and to 0 when it's not.
You can trigger different animations or frame numbers by adding sub-events (if you change the animation, don't forget to add the "Trigger Once While True" under "System" conditions).
I have to admit, this is more difficult that I'd imagined, correct picking is a #$% and I really don't understand why I had to use the "For Each" loop, since Construct 2 supposedly picks every instance internally by its self.