2. Read this article about issues with using too many global variables, it has a few good points:
http://tobyr.wtfgamesgroup.com/c2-plugi ... variables/
You can create groups of events and define local variables, they will be accessible only from their groups.
You can add "temporary" local variables inside of event or functions.
Note, that these variables don't always keep their value, so if you want them to preserve the value between calls, you should tick "Static".
3. Instance variables are great! <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile"> You should use instance variables whenever possible.
You can attach instance variables to different objects, not just sprites or text. I use them with arrays, dictionaries, some other plugins.
That Globals plugin advertised in the above link is basically an abstract empty object, used only as a storage for instance variables.
4. Every X seconds is OK to use in some cases. If you want a better control, use Timer behavior - you can run independent timers per object, per instance, stop/restart timer.