There is a much neater way, it takes some time but looks impressive ingame and is only MPI
Create a unit for every level and name it "level 1", "level 2" and so on.
Then, whenever your hero reaches a new level, create a unit of the same level in a corner of the game. For example the hero reaches level 20, then you create a "level 20" for this player. This unit shouldn't use food/have no model/no soundset and so on.
The funny thing is, that the items are greyed out if you don't have the required level and the message "You require level 20" is displayed, dunno the exact text.