I basicly need to add branches to the ulx groups.
This is tough. ULX does not (seamlessly) support branching, so if you wanted to something like this it would require a bit more work. I've been thinking of writing a module for ULX to help more easily support branching, but not sure when I'll do that.
To help answer your question, though, ULX supports different forms of targeting. In a linear tree, like ULX supports easily, you can easily put your inheritance to "!%(group_above_this)" which basically means "not the group above this and everything that inherits from it". With branching, this can get complicated. In other words, you'll have to set up the can_target for each individual group. This can be done using the "#" tag. Since I haven't ever done this myself, I think you can just do #(group1),#(group2) (without the parentheses, of course) and so on until you have all the groups that they can target. If you want to setup permissions for the groups they CAN'T target, use !#(group1),!#(group2)... (again, without parentheses).