I had a concern that people would just log off to avoid having to fight as well - but I think an interesting mechanic could be put in here to avoid this type of thing... and to get rid of some cities established by players who either forget about them, stop playing, or are on some other kind of leave to where it'd be nearly impossible to conquer their territory since they're never online... we already have siege - but there several parts to a siege:
1) Setting up camp; getting troops ready, readying siege equipment, etc.
2) Waiting for an opportune time to strike (ie, passive siege/blockade of city while waiting)
If we cannot attack players who are offline, then why not have a passive siege (stage 2) that triggers an auto-surrender of the city after X number of hours/days, whatever. Kingdoms could actually be cleaned up this way if a person were to ever quit, take an extended break, etc.
And for those of us who go on vacations... there could be some sort of mode or whatever you could check on/off - for a set period of time only to prevent abuse from those not on vacation, exam week, whatever - if you are going to go on vacation so that your cities cannot be taken in the fashion described above. No one wants their kingdom conquered while you're downing margaritas in Cancun - or whatever you do/go on vacation. :P