Im Resultat einfach `.` mit `{,}` ersetzen mittels `gsub`.  Die zusätzlichen geschweiften Klammern sorgen dafür, dass hinter dem Komma kein größerer Abstand eingefügt wird.
Damit man den Punkt ersetzen kann muss man das `gsub`-Pattern `%.` verwenden.  Mit `\directlua` gibt es keinen einfachen Weg das Prozentzeichen reinzuschmuggeln, aber mit `\luaexec` aus dem `luacode`-Paket kann man einfach `\%` schreiben.
    \documentclass{article}
    \usepackage{luacode}
    
    \begin{document}
    \directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
    Dann gilt $2 \cdot a=\luaexec{tex.sprint(string.gsub(2*a, "\%.", "{,}"))}$.
    \end{document}
![alt text][1]
---
Alternativ kann man die Ausgabe auf TeX-Ebene verarbeiten.  Hier bietet sich `siunitx` an, welches mit der Option `locale=DE` automatisch auf deutsche Konvention bei Einheiten und Dezimaltrennern umschaltet.
    \documentclass{article}
    \usepackage[locale=DE]{siunitx}
    
    \begin{document}
    \directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
    Dann gilt $2 \cdot a=\num{\directlua{tex.sprint(2*a)}}$.
    \end{document}
![alt text][2]
  [1]: http://texwelt.de/wissen/upfiles/test_259.pnghttp://texwelt.de/wissen/upfiles/test_259.png
  [2]: http://texwelt.de/wissen/upfiles/test_260.png