Yes it is but only within the limits of the .fpi scripting commands and actions available to us.
So for instance for example I have characters that do two of the things you mention.
1. Charcater that waits behind a door until player gets close then moves through door to player - talks to player - then moves on.
2. I have characters activate a switch thats an easy one - just have the character controlled so he moves to the switch and the switch script requires an activation of anywithin=yourdistance. When the character gets near the switch it will activate. By animating the character appropriately you could have him animate to "Hit the switch" but some of this obviously requires work animating models too.
Advanced scripting to get characters to do what you want looks sometimes silly if they dont also have appropriate animations to match what you want them to do.
With enough effort you can string together numerous non default script behaviours, but it can be a lot of work. Using free moving or path moving characters will allow differing amounts of control depending on what the scenario is. Path control can be quite precise so you can stop and start characters while they do their stuff before moving on to do perhaps more things. The manual outlines the path states so you can see what you can make the characters do. Paths themselves can be a little trickey - getting characters to move correctly along them as many will know - but they do provide quite precise contol over character position.
Unfortunately we cant make characters do things we dont have commands available for so additional commands to the FPSC scripting language would be most welcome from TGC.