Dein inPos bei der Berechnung der Lichtrichtung ist im Objectspace, die Lichtposition aber im Worldspace. Bei der Viewrichtung machst du es korrekt, da soeine Matrixmultiplikation allerdings nicht grad billig ist, solltest du die Transformation der Vertexposition nur einmal machen.
Statt phong-shading, kann ich dir auch blinn-phong empfehlen, da es besser aussieht und schneller läuft. Dazu must du nur die specularity etwas abändern.
Wenn du die Viewdir im Pixelshader normalisierst, musst du sie nicht auch noch im Vertexshader normalisieren. Im Pixelshader zu normalisieren ist korrekter, ist aber natürlich lagsamer als im Vertexshader. Da solltest du mal ausprobieren wie sehr sich das aufs Ergebniss auswirkt. Eventuell machts auch Sinn die Normale zu normalisieren, je nach Auflösung der Normalmap.