Как реализовать автоматическое присваивание id диву?
Как-то так. $('#main div').each(function(i){
   $(this).attr('id', 'block-'+i);
})
Лучше использовать для внутренних дивов класс и перебирать все элементы с этим классом. Сейчас тенденция отказа от id, многие как и я используют их только для основных блоков, такие как header или footer, а Вы хотите для каждого блока новый id.