var a = [
['01', '02', '03', '04'],
['05', '06', '07', '08'],
['09', '10', '11', '12'],
['13', '14', '15', '16']
], b = [], i, s = 2;
for(i = 0; i<a.length; i += s) {
b.push([a[i].slice(0, s), a[i+1].slice(0, s)], [a[i].slice(s), a[i+1].slice(s)])
}
console.log(b)
Маленько подумать, и для любой n-размерности в итерации нужно пройтись циклом n-раз в котором уже и push().