Вы не можете создать список массивов, но вы можете создать список диктов, который функционально идентичен (отображение ключей на значения):
set mylist [list [dict create a 1 b 2] [dict create a 4 b 5]]
puts [dict get [lindex $mylist 1] a]
Чтобы сделать это как массивы, вам нужно использовать [array get] и [array set], чтобы изменить массив в строку:
set si(eid) -1
set si(core) 0
set si(time) 0
lappend si_list [array get si]
И чтобы вернуть его обратно
array set newsi [lindex $si_list]
puts $newsi(eid)
dicts позволяют напрямую работать со списками {name value}.