I still don't understand the logic.
The last line of code you give is
float3 NormV=normalize(mul(LightPosition_1-WPos,TBN));
I have no quarrel with that (in simple normal mapping) - it simply gives the negatived light direction vector in tangent space, prior to "dotting", etc, with the normal map which will usually be in the same space. My problem is the change to
float3 NormV=normalize(mul(LMnorm-IN.WPos,TBN))
which among other things implies that LMnorm is in world coordinates. Is it?
Your final paragraph is more or less what I expected, i.e. LMnorm is a light direction presumably coded in tangent space or world space depending on how you coded it. If you used tangent space then LMnorm shouldn't need to be transformed before being combined with the other transformed lighting variables such as the normal vector from the normal map. If you used world space when you created the lightmap I'd expect to see something like
float3 NormV=normalize(mul(mul(LMnorm, (float3x3) WorldInv),TBN))
to take it into texture space ready for the diffuse and specular calculations. But you'd probably have a problem with light attenuation (or lack of it) in that case.
Unfortunately I'm not sure how you've coded the second lightmap so I can't be more specific about how to use it.
I would have coded the lightmap so that, for example,
(a) RGB = (128, 128, 128) corresponds to no light, i.e. black,
(b) RGB = (255, 128, 128) corresponds to full light in the direction of the X axis (in whatever coord system you're using)
and
(c) RGB = (192, 128, 128) corresponds to roughly 50% attenuation of a light in the X axis direction.
If done that way there is no need for normalization and attenuation is automatically allowed for in the lightmap.
Perhaps you could clarify exactly what the values in your lightmap represent?