in a quick summary

make them models seperately,
create the door, save it
then create each button, and save those seperately to it's relevant position to the door

then create
action act_switch_door() in your code

place just the door model in wed and give it an action act_switch_door

and then these placed doors will spawn each additional button
Code:
#define door skill1
#define button1 skill1
#define button2 skill2
#define button_value skill2

//... etc...
action act_switch_door(){
	you = ent_create("button1.mdl", my.x, door_button);
	my.button1 = you;
	your.door = me;
	your.button_value = 1;

	you = ent_create("button2.mdl", my.x, door_button);
	my.button2 = you;
	your.door = me;
	your.button_value = 2;

//etc...
}


then use EVENT_CLICK or on_mouse_left = door_button
through this you will be able to find out now which door the switch is connected to, it's corresponding value and all it's other corresponding switches.

Hope this helps