Well for example you might have imms whose job is to manage players, and then imms whose job is to build, and then imms whose job is to manage other imms, and then imms whose job is to create and run quests.
It seems pretty clear that the imms-who-manage-imms are higher up in the level hierarchy so that's easy enough to do. Make commands related to managing imms be of a level such that only those imms can use them.
But does it really make sense to order commands related to player management, building and quests? Maybe you don't want builders to manage players. So make the player-managers on top of builders. But now your player managers can also build, which you might not want.
Instead, you can create groups of commands, such as:
group building: mset, oset, mcreate, etc.
group players: delete, freeze, hell, unfreeze, unhell, transfer, etc.
group quests: various quest commands, etc.
group imm-management: advance, etc.
Then, when you have some immortal, you can assign them to one or several command groups based on what they should be able to do.