• the only way I could think of doing it was to have a "translation" table.

    Something like (CustomerID, Year, AssignedTerritoryID).

    That's the only way I could figure out to be able to compare territory performance over time and freeze the definition of a territory. (Can't change everything over time and expect to get anything that makes any sense.)