I would like to start with this:
I am Teacher Tom.
I don't know where you hear that often, but it doesn't sound like very good English to me. "Teacher Tom" sounds like a name used in a preschool. Better English would be:
I am Tom, a teacher.
I am Tom, and I'm an actor.
If the sentence did not begin with "I am," you could use the word actor in front of Tom, like this:
I'd like to get the actor Tom in here for an interview.
As for talking about Tom Cruise and his face, I'm not sure you even need to add "the actor", because Tom Cruise is such a famous actor that most people already know what he does for a living. But let's say there's a carpenter in my town who happens to share the same name as the actor. Either of these sound okay to me:
Tom Cruise (the carpenter) has a square face.
The carpenter Tom Cruise is square-faced.
That said, if we are talking about the actor, we could say:
Tom Cruise is a square-faced actor.
That sentence is better than your original:
The actor Tom Cruise's face shape is square.
The reason your sentence sounds awkward is because it first identifies Tom Cruise as an actor (a fact that we already know), and then goes on to say that the shape of his face is roughly square. My version is slightly different; by using square-faced to modify the word actor (instead of the person Tom), we are differentiating Mr. Cruise from other famous actors with a remark about the shape of his face.