Первое, что пришло в голову - разделить код на несколько кусков - 2.html, 3.html(либо 1 php файл) и создать функцию, которая будет рекурсивно загружать все блоки, т.е. изначально на странице уже загружен 1й кусок разметки и ajax-ом запрашиваем 2й, после загрузки запрашиваем 3й и так далее.
var pieces_count = 4;
function orderedLoad(count){
if(count > pieces_count) return;
$.get(count + '.html', function(data){
//проверяем и вставляем data
orderedLoad(++count);
});
}
orderedLoad(2); //со второго начинаем, т.к. 1й(основной) кусок лучше сразу же отобразить