Ajeh:
Always a possibility ...
If I were to make this an add-on, I would create a clone of Free Shipping Options freeoptions and add a new key to it for something such as clone it to be:
freeoptionscity.php
and add a new key to the module for:
MODULE_SHIPPING_FREEOPTIONSCITY_CITY
but then customize it to be able to have 1 to many cities, as some might want more than one city to have the Free Shipping ...
Well, I tried to wrap my brain around making the add-on and it's far from straightforward to me. I know you've contributed allot to this already but could you elaborate a bit more?
-The term 'key' is unclear to me. Are you referring to an SQL cell or merely a variable in the new freeoptionscity.php file?
-How would one end up with the options in the admin once enabled? Does all that have to be coded or will it be picked up from the file?