Consensual warfare.
Maybe set it up that you can have a one sided war. If we declare war against a target they can accept or refuse. If they accept you have consensual war if they refuse the aggressor will get reduced faction reputation and alignment shifts since they are still at war. If you refuse then your town can not use any of the warfare option and will take full alignment reputation hits if attacking the opponents settlement without accepting the war.
Was trying to figure out why you would hav position holders visible at all. How an assassin could kill the master smith if he only logs on to start up his crafting and rest of time the player is on another character.
What if the advantages were city bufs that required online time to work up.
I'm the master smith I log on and start enhancing town this requires that I be within my town hex. Once my timer reaches 30 minutes it adds 1 to the stack of smithing bonus to the town. If I'm on for another half hour in town hex I add another stack. Each time I add a stack it reset the degradation for town buff which is 24 hours. If you get assassinated all the town buffs you were providing get reset to 0. This rewards characters that are actively supporting there town and are visible targets to an assassin. Allow spies to view city buffs so as to figure out which roles they might target.
For soldier classes make a war readiness buff where the army will get the bonuses of the highest commander based similar to crafter. He must be online and in hex. He build up a counter and adds stacks to the city buff. Once assassinated the stacks reset. So a small town that prepared and has a high amount of these stacks could win a war against a medium or even large city, but if commander was assassinated they might retreat or concede depending on how long would take commander to build the stacks back up.