1 и 3 — нет. В данном случае пробелы ни на что не влияют.
2. На самом деле каждый вызов возвращает какой-то ответ и следующий метод вызывается у этого объекта.
Просто часто есть соглашение, что вызов метода возвращает оригинальный объект. Но что именно в данном случае возвращается нужно смотреть в документации по конкретной библиотеке.
Вообще это можно (нужно) читать так:
var tmp0 = svg.selectAll(".bar");
var tmp1 = tmp0.data(bins);
var tmp2 = tmp1.enter();
var tmp3 = tmp2.append("g");
var tmp4 = tmp3.attr("class", "bar");
var tmp5 = tmp4.attr("transform", function(d) { return "translate(" + x(d.x0) + "," + y(d.length) + ")"; });
var bar = tmp5;