In Europe, the postcode mostly precedes the town name. I could not find any options for changing the order of the columns for these fields, particularly on the constituent report.
Have you tried making adjustments under Administer > Localisation > Address Settings?
I guess there are 2 routes:
- you switch on the address parsing setting that splits the address line into street_name, number and unit. You then have to develop an extension that builds the street_address into the sequence you want (which is then used throughout the system). We have done this for some Dutch installations, check https://github.com/CiviCooP/org.civicoop.streetformatnl
- leave CiviCRM to do what it does but customize the report where you need it to be in a different sequence.
To modify the column order in the Constituent Report you will need to do some development (you can hire a CiviCRM partner to make these sorts of minor modifications for you).
The developer might want to override the function select() and move the fields around as desired, since these are later used to build an array in the same order.