It would be a change of database structure.
It appears customer address is currently just stored in a customer table. The central table is then referenced as required for each invoice, quote etc.
The alternative design is to store this data in each invoice, quote etc, and using the customer file only to populate the fields when an invoice or quote is created. Adding a check box implies Manager is also programmed cycle through all old invoices and edit if user requested.
The latter means all currently active invoice & quotes would need to be separately updated when a customer changes address or an address error is corrected. It will also create a variety of requests on how each report should group invoices and quotes from different addresses.
The former means you loose which address old invoices were sent to if a customer moves. Although you could also achieve this by creating a new customer when a customer moves and deactivate the old customer address when old orders are filled.
If this functionality was really required supporting multiple branches for each customer would probably be better (a table off the customer file). Users would then have to select which branch for each invoice or quote if more than one was active. The subsequent report grouping requests and program time to change core database structure still remain.
Overall the current implementation does have some advantages