If I understand correctly what you are saying, you are asking for the events to work as they already do.
An event sheets is read from top to bottom, and for each event, all the conditions must be true for the action and subevents to be executed/tested in turn.
You can add include as an indented sub-event, so it will only include another event sheet if the conditions of the top level event are true.
Finally, indeed you can work your way out with activating/deactivating group, and I don't really see how else you could make it but by allowing the user to make events that are tailored for the current project she's making.
How more "out of the box" would you see/want it to be ?