i do agree with what you are arguing for, its hard to enforce having "enough open plots" especially in a inviteless-join town though.
perhaps we should just add a few words to the rules that state if staff get X number of complaints from residents about being homeless within Y timeframe then Z punishments are exacted upon the mayor.
or perhaps we could modify the existing towny plugin to allow mayors to properly assign plots to citizens
(there are several occasions where the citizen will log off after joining the town, d/c, any number of reasons)
/plot set owner {ign must match data in /t list or return error}