Perhaps it could be implemented right in the Aliases plugin with a command like "alias global ...". Then when a command is executed it first checks if the user has it's own alias available, and then if there is a global alias.
I, too, think that the current Alias plugin should be extended with this functionality, rather than creating a new plugin. It shouldn't be that much of a hassle, I'd even say it's an easy task

The only problem that would need solving is collisions - what if a player sets their alias for "foo", and then admin sets a global alias for "foo" - should the player's alias take precedence for that player, or should it be erased?