Ja, Sessions sind auch bei Ajax-Calls vorhanden. Das einzige worauf man achten sollte ist bei Ajax-Calls kein session_regenerate_id() zu verwenden, sonst kann die Session beim weiteren navigieren verloren gehen.
Prinzipiell ist es möglich HTML von Ajax-Calls zurückzugeben. Sauberer ist es aber nur die benötigten Daten im JSON-Format zurückzugeben und das HTML dann clientseitig mit JavaScript zu generieren. Je nach Anforderung kann da ein JS-Template-System hilfreich sein, z.B. Mustache: https://github.com/janl/mustache.js