Суть не совсем в этом.
1) мы получаем $a
2) добавляем в $root.get(0).innerHTML += "строка с большим количеством .b"
3) теперь $a так же недоступен.
Т.е второй вариант, тобой предложенный так же не сможет работать с .a после innerHTML
var $a = $(".a");
$("#root").get(0).innerHTML += "<div class='b'>b-dynamic</div>";
var $b = $("div.b");