Есть ли Python'овский аналог a1,a2,aN=range(N) для JS?
Ваш вопрос состоит из двух частей:
1) инициализация переменных значениями из массива.
2) создание диапазона значений.
Ни того, ни другого, в JavaScript в чистом виде нет.
Но для вашего примера можно использовать известный прием с определением переменных в скоупе объекта window, совместно с Array-методом forEach:['a', 'b', 'c', 'd', 'e'].forEach(function (v, i) {
	window[v] = i;
});
В JavaScript нет конструций типа питоновского a, b = 1, 2, то есть переменные присваиваются только по одной, так что не получитсяUPD написал вот кое-что:function assign(vars, vals) {
  if (vars.length === vals.length) {
    for (var i = 0, len = vars.length; i < len; i++) {
      eval("this." + vars[i] + " = " + vals[i])
    }
  }
}

function range() {
  if (arguments.length === 1) {
    result = [];
    for (var i = 0; i < arguments[0]; i++) {
      result.push(i);
    }
    return result;
  } else if (arguments.length === 2) {
    result = [];
    for (var i = arguments[0]; i < arguments[1]; i++) {
      result.push(i);
    }
    return result;
  }
}
Ипользование:assign(['a', 'b', 'c'], range(3))
Но на самом деле, лучше это нигде не использовать, мне кажется)P. S. Посмотрите на CoffeeScript, там Ваш пример записывается так:[a, b, c, d, e] = [0...5]
или так:[a, b, c, d, e] = [0..4]