There's an ownerShipChanged event you can check. When the ownership changes from invalid (-1) to something valid, you know a new entity has been created.
You have to prepare for ownership changes anyway, as we will include capturing in the future.
The ID is only known by the engine when the unit is spawned. keeping track of all future id's isn't possible. The human player can create a new entity in one of his buildings, and it can finish faster than your creation. So the id's will be reversed.
The AI can show chat messages (it's done when an allied AI attacks). It has no mouse, and generally can only communicate through predefined commands.
nope, we want the AI to run in separate threads. So it will have to copy the data in some way, to not edit the simulation data live.