I done some work with agents and here is what I know.

1) It's easy to prevent a faction having princesses, or any other agent for that matter (alter data/descr_character.txt).

2) You can alter the buildings so that agents will start out with different levels of skill or appear at different building levels. For example a Brothel could recruit diplomats and assassins, while Pleasure Palace could recruit level 5 assassins and level 3 merchants.

3) You can change what a unit looks like (I made assassins look like witches).

Also the only agent with the attribute charm is the princess, though I don't know how to change the name of this attribute (it's probably in the text files).

Using this we could give the Skaven the ability to train higher level assassins than most factions.