Насколько я понимаю, в foreach просто не предусмотрена возможность создания многомерных итераторов. В качестве обходного варианта можно объявить итератор примерно так:
new Iterator:iDivisionPlayers[MAX_FRACTION * MAX_DIVISION]<MAX_PLAYERS>;
и потом обращаться к нему как "iDivisionPlayers[fractionid * MAX_FRACTION + divisionid]".