Wieso nicht einfach so:
daten[position[0]][position[1]][position[2]][position[3]] = 'ein Text';
Bei verschiedenen Dimensionen würde ich if-Abfragen setzen.
if ( position.length == 1 )
...
else if (...)
Das in einen 3-Zeilen-ForSchleifen-Code zu bekommen halte ich für unmöglich...