по идее, такая конструкция должна работать
должен выделить со второго по пятый, не включая => дивы с номерами 
3 и 
4 внутри
Пример: не работает. хотя должно
<script src="http://yandex.st/jquery/1.6.2/jquery.min.js"></script>
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<script>
*!*
$('div*!*:gt(2):lt(5)*/!*').css("border","1px red solid");
*!*
</script>
ещё  в jquery можно сделать так (
 slice, как обычный массив )
<script src="http://yandex.st/jquery/1.6.2/jquery.min.js"></script>
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<script>
*!*
$('div')*!*.slice(3,5)*/!*.css("border","1px red solid");
*/!*
</script>
var res = [],    // массив результатов
      a;           // кэш коллекции
// кэшируем коллекцию и обходим её
(a=$("div")).each(function(i) { 
    // остаток от деления на 4 может быть нулевым и у нуля.
    if (i % 4 === 0)
        // обрезаем коллекцию от текущей до "текущей+4", 
        // высчитываем массив высот 
        // и помещаем в результат максимальную
        res.push(Math.max.apply(Math, a.slice( i, i+4 ).map(function(){
            return $(this).height();
        }).get()));
});
// всё
alert(res);
создадим 10 div ( в итоге это 2 высоты (по 4 эл ) плюс 2 элемента по отдельности .. то бишь всего должно быть три высоты в результате)
Пример: живой пример
<script src="http://yandex.st/jquery/1.6.2/jquery.min.js"></script>
<body>
</body>
<script>
// создаем одинаковые div
for (var i = 0; i < 10; i++) $("<div>" + i + "</div>").appendTo(document.body);
var res = [], a;
(a=$("div")).each(function(i) {
    if (i % 4 === 0)
        res.push(Math.max.apply(Math, a.slice( i, i+4 ).map(function(){
            return $(this).height();
        }).get()));
    
});
alert(res);
</script>
единственный минус этого способа - это два цикла. но  первый лёгкий (проверяем 
i ), а второй обходит 4 элемента.