1.
use trigger-variable and alphafade=0/alphafade=100 conditions in the appear-script of the particle. particles cannot be triggered as far as i know, but you can hide them until needed.
for an example:
;Artificial Intelligence Script
;Header
desc = particle appear with trigger
;Triggers
:state=0,varequal=bombdecal 0:setalphafade=0
:state=0,varequal=bombdecal 1:setalphafade=0,runfpidefault=1
;End of Script
set var from 1 to 0 and etimer in the mainscript of the particle to turn the particle off again after used.
...
:varequal=bombdecal 1:setvar=bombdecal 0,etimerstart
:etimergreater=1000:destroy
2.
- leveldesign,leveldesign,leveldesign. think of whats neccessary for the game and what is only ... well, nice looking crap that kills performance.
- lower lightningmap-quality in the setup if you want to.
- trigger entities (especially characters). destroy them if player cannot reach them anymore.
- use shaders only where neccessary. dont use segment-shaders on entities, even if its possible. some work, some kill your game.
- dont build too big levels, split them if they get too big. polycount is the word.
- destroy corpses so the polys havent to be calculated anymore (fadecorpse, ragdollfade etc.)
- dont use water with many character-entities (i hate to say that)

- remodel nearly every used stock-segment to reduce polys (the most effective, but hardest way to get performance).
- look for WASP-mod. heared it is a performance-boost (i dont like mods, so i havent check that)
- try http://forum.thegamecreators.com/?m=forum_view&t=187181&b=23 for constant visitable characters. watch for the limits described, i am working on that. hope you can use it.
- test http://forum.thegamecreators.com/?m=forum_view&t=186092&b=21 and see if it helps in any way.
3.
dont know for sure, so i keep silence on this
just my 2 cents for the moment.
its 5:40 in the morning, i should have some sleep.