Affecting specific instances is useful when you have complicated, automated routines for multiple instances of things (like a gravity routine that affects every enemy). You can do it in MMF by using Spread Value, which is sort of like assigning your own UID's. But with Spread Value you have the advantage of knowing that the UID's go exactly in order from 0 to numOfObjects. This way you can do a loop numOfObjects times, and use a condition of "loopIndex = spreadValue" to manipulate an individual instance. I've actually been trying to come up with a way to do something similar to Spread Values in Construct, because I use them so much in MMF.
For instance, I made a pachinko-type screen saver in Construct a while back, where physics balls randomly drop through a series of pegs. Occasionally one of the balls would get stuck on a peg, so I made a routine that would "bounce" the screen and set that ball's velocity to something random so that it would shake loose of the peg. But when it triggered, every ball on the screen was affected, whether it was stuck or not.
With Spread Values I could have fixed that problem very easily, and I guess if I knew what I was doing with UID's, I might be able to fix it that way as well, but I don't <img src="{SMILIES_PATH}/icon_confused.gif" alt=":?" title="Confused" />