From GRFSpecs
Props, Vars and CBs

Towns aren't a NewGRF feature of their own but town variables can be accessed via the parent scope of stations, houses and industries.

Town variables

name value range comment
is_city [0 | 1] 1 if this town is marked as a "city", 0 if it's not.
cities_enabled [0 | 1] 1 if the advanced setting for cities is enabled, 0 otherwise.
has_church [0 | 1] 1 if there is a church in the town.
has_stadium [0 | 1] 1 if there is a stadium in the town.
population 0..65535 Population of the town
num_houses 0..65535 Number of houses
percent_transported_passengers 0..100 Percentage of all passengers available for transported that were transported.
percent_transported_mail 0..100 Percentage of all mail available for transported that was transported.
town_zone_0_radius_square 0..65535 See TownZones page in NFO specs
town_zone_1_radius_square 0..65535
town_zone_2_radius_square 0..65535
town_zone_3_radius_square 0..65535
town_zone_4_radius_square 0..65535