Давайте поясним, я не прошу (var i в списке), я хочу, чтобы ключ также был назначен переменной.
Ключ, на самом деле, единственное, что назначается:
var value; for(var key in list) { value = list[key]; // do something with key, value }
Javascript не имеет этой функциональности встроенной в язык. Наиболее близким является синтаксис for (... in ...), который вы уже отклонили.
Посмотрите в своей библиотеке JavaScript для этой функции. Например, когда-либо вездесущий JQuery каждый () .