Why no use nodes? use nodes and use some value for the intensity of the normal map, nodes cannot get acces to game properties, but can get information from lamps, and other things. With this way you can have the head in only one object.
What i thinking is use nodes in the head, set for use the intensity of a lamp as intensity of the normal map, later use python to change the intensity of the lamp depending of the frame from the action.
All the lamps will have deactive the diffuse and specular options, of this manner it not will consume performance.
EDIT: from what I just saw, the lamp data node cannot get the intensity from a lamp, but, can get the color, and you can use it as intensity for the normal map and change the color of the lamp(from the black, to the white).