Ok for the hidden door, do you want it to open and stay open, or open for like a little bit after he triggers it and then close back.
If you want it to stay open for a little while and then close, make your trigger brush, make it a trigger_multiple. Hit 'n' key to get into it's properties, then give it a 'key' of "delay" and a 'value' of "1"...this makes the door wait one sec' after the trigger is fired to open (so player will have time to notice it). Now give it another 'key' of "wait" and a 'value' of ohhhh "6"...now you'll have to wait six seconds before you can fire the trigger again. Now deselect the trigger.
Now select your hidden door, hit 'n' key to bring up the properties. First check the 'toggle' spawn flag box..allows for it to be opened more than once...or else door will only do it's cycle one time. Now add a 'key' of "wait" and 'value' of around "15"...now the door will wait 15 secs' before closing (this may need to vary depending on how hard it is to reach your hidden door). Deselect the everything, now first select your trigger, then your door, then connect using "ctrl+k". You should be set, compile and test.
For a door to open and stay open I think you have to use the start off spawn flag (can't remember) then use a trigger_activate to open it...but I've never needed to do this so can't remember off the top of my head.
And for your NPC not to trigger it just, check the "player_only" spawnflag...this allows only kyle to fire the trigger.