Yes, EntityId is safe for maps... it's kind of its entire job and all of Zay-ES would break if that weren't true.
You can also see that I do exactly this in "insert every Zay-ES example I've ever posted". So you can look at that for good examples.
The most recent Sim-ethereal examples will even show using some of the SiO2 convenience classes. The important one in this conversation is EntityContainer which you can extend to easily handle these sorts of entity to Spatial mappings.
EntityContainer (can just be cut-pasted if you don't want the whole SiO2 library... but it's small):
Working networked game example using Zay-ES but the non-networked parts are still useful:
The simplest example of mapping an entity to a spatial using EntityContainer: