1) Unity не совсем однопоточный. Многопоточность есть, но она работает автоматически, без участия программиста (если не использовать стандартную многопоточность c#, но она, как правило, не нужна).
Но сможет ли Unity сам разделить цикл на несколько потоков - сомневаюсь, но надо смотреть. В любом случае это не особо и важно, если только расчет содержимого цикла не займет 16+ мс, а это еще надо постараться, чтоб так сделать.
2) Вызов Update сам по себе кушает немного процессорного времени, но на 10 объектах это будет не заметно, заметная разница появится на тысячах вызовов Update, разница там будет уже ощутима.