How to associate long-term data with an enemy unit or city or model?
You need to generate a unique identifier from the information you have about the enemy object using a mapping function. You store a copy of the identifier with the data to label it. The information used for the identifier should change infrequently (you must detect when it changes and update your identifier) and uniquely identify each object. Conveniently the index of each item in EnemyUn, EnemyCity and EnemyModel is constant during the current turn.