Not quite sure which solution to pick. Or maybe a hybrid one: regenerating one-level variant, where a down staircase exists - and take you to another random (first) level ... ? What is your opinion?
I think you can safely discard the infinite persistent dungeon. A one-level regenerating dungeon feels too much like scumming for my taste. An infite regenerating dungeon has the advantage that coding it is almost as easy as a one-level regenerating dungeon. All you have to do is change the level counter if the player takes a staircase. Another advantage is that you could raise the difficulty according to the level counter, by dropping more monsters and traps. I always enjoyed the challenge of playing the ID just to see how deep I could get.
It may be unoriginal, but frankly, your game is too much like ADOM to be called original at this stage. Fortunately, originality isn't in The Roguelike Definition™.
But content-wise, who knows? There are so many content-related paths to take, and so little time. Which one is the most pressing? Beings? Items? Quests? Hand-picked maps? More game mechanics (skills, talents, ...) ? Tweaking and tuning base game rules? Experience?
Here's my vote:
1. Experience and levelling (which implies appropriate monsters for higher level characters);
2. Food is implemented, but there is no food clock yet. It should be relatively easy to add hunger, and corpse eating effects (from eating zombies I figured you have that planned);
3. Add some dungeons and/or maps. Adding an ID would make sense after you have added experience levels. (But, despite the fact that I like ADOM's ID, my general advice to any RL developer would be to not over-expand the game world, even though procedural generation makes it tempting to do so);
4. Add some item types (especially potions and scrolls), spells, and quests;
5. Add some physical effects like teleportation, paralysis, poisoning, perhaps mutations and assign those to monsters and spells.
As for skills, their priority depends on how important you think they are for gameplay. If you decide to add them, consider the 'get skilled at what you train' method versus 'pick a skill to train at level-ups' method. Personally I prefer the former.
I personally think that Experience is the first thing to implement; leveling is an important aspect.
I agree.
The problem is that I am not sure what "achieving a new level" should mean; what values should be raised and by what amount... I am mostly a coder, not a game designer :-(
Coders easily beat designers at quantifying stuff.
I'd say assign an experience value to a monster, and if the PC kills a monster, add that value to the PC's experience points. Then define a function to calculate the experience level from experience points (most likely you'll want exponential growth). When the PC levels, you could raise HP and one stat (chosen randomly, or biased towards racial predisposition).
A less traditional way to go about it is to define a linear experience level function, and lower the experience points gained from killing monsters as the player levels up. If I'm not mistaken, Angband does this.