Можете привести код отдельного вызова полей? Т.е. у вас определенная колонка выводит определенное поле. Как?
Уффф... Ну, и задаёте Вы задачку, барин. Проще было прислать шаблон 

Но зато теперь всё по полочкам расписал. Тексту много получилось, т.к. основательно переделывал category.php и category_item.php.
Значит, так. Первым делом
ПЕРЕДЕЛКА CATEGORY.PHP
Начиная со строки 138 и по 156 - отдаём функции отображения leading items в category_item.php. Вместо
		<?php if(isset($this->leading) && count($this->leading)): ?>
		<!-- Leading items -->
		<div id="itemListLeading">
			<?php foreach($this->leading as $key=>$item): ?>
			<?php
			// Define a CSS class for the last container on each row
			if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
				$lastContainer= ' itemContainerLast';
			else
				$lastContainer='';
			?>
			
			<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'; ?>>
				<?php
					// Load category_item.php by default
					$this->item=$item;
					echo $this->loadTemplate('item');
				?>
			</div>
			<?php if(($key+1)%($this->params->get('num_leading_columns'))==0): ?>
			<div class="clr"></div>
			<?php endif; ?>
			<?php endforeach; ?>
			<div class="clr"></div>
		</div>
		<?php endif; ?>
Просто вызываем category_item.php
		<?php if(isset($this->leading) && count($this->leading)): ?>
		<!-- Leading items -->
		<div id="itemListLeading">
        <?php
            $item = reset($this->leading);
			$this->item=$item;
			echo $this->loadTemplate('item');
		?>
		<div class="clr"></div>
		</div>
		<?php endif; ?>
Остальное - Primary items, Secondary items - до Link items лучше удалить, т.к. они будут использовать уже переделанную category_item.php, что приведёт к ошибкам.
ПЕРЕДЕЛКА CATEGORY_ITEM.PHP
После 17 строки создаём заголовок таблицы
<table class="tablecatalog">
    <thead>
      <tr>
        <th><span class="catItemExtraFieldsLabel">Название<br/>(для просмотра подробностей щёлкните мышью)</span></th>
          <?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
          <?php foreach ($this->item->extra_fields as $key1=>$extraField): ?>
        <th><span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span></th>
	      <?php endforeach; ?>
          <?php endif; ?>
	  </tr>
    </thead>
Дальше переносим функции category.php в category_item.php - открываем счётчик Leading items (количество строк таблицы до пагинации, которое указывается в свойствах категории - "Количество основных материалов")
<?php foreach($this->leading as $key=>$item): ?>
	<?php
	// Define a CSS class for the last container on each row
	if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
	$lastContainer= ' itemContainerLast';
	else
	$lastContainer='';
	?>
	<?php
		$this->item=$item;
	?>
После 46 строки вместо заголовка материала
	  <h3 class="catItemTitle">
	  	<?php if ($this->item->params->get('catItemTitleLinked')): ?>
			<a href="<?php echo $this->item->link; ?>">
	  		<?php echo $this->item->title; ?>
	  	</a>
	  	<?php else: ?>
	  	<?php echo $this->item->title; ?>
	  	<?php endif; ?>
Начинаем первую ячейку строки
      <tr>
	  <td class="catItemTitle">
	  	<?php if ($this->item->params->get('catItemTitleLinked')): ?>
			<a href="<?php echo $this->item->link; ?>">
	  		<?php echo $this->item->title; ?>
	  	</a>
	  	<?php else: ?>
	  	<?php echo $this->item->title; ?>
	  	<?php endif; ?>
	  </td>
Строка 65 - удаляем закрывающий тег </h3> - он нам больше не нужен
Дальше вместо отображения дополнительных полей (строка 101)
	  <?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
	  <!-- Item extra fields -->
	  <div class="catItemExtraFields">
	  	<h4><?php echo JText::_('Additional Info'); ?></h4>
	  	<ul>
			<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
			<li class="<?php echo ($key%2)? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
				<span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
				<span class="catItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
			</li>
			<?php endforeach; ?>
			</ul>
	    <div class="clr"></div>
	  </div>
	  <?php endif; ?>
Создаём для них ячейки
     	<?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
        <?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
    	<td>
		<span class="catItemExtraFieldsLabel"><?php echo $extraField->value; ?></span>
		</td>
    	<?php endforeach; ?>
        <?php endif; ?>
		</tr>
Ну, и в самом конце файла завершаем счётчик Leading items и закрываем таблицу
<?php endforeach; ?>
</table>	
Вот, вроде, и всё. Почему пришлось передавать счётчик из category.php в category_item.php - потому что иначе при каждом вызове category_item.php над таблицей образовывалась одна паразитная пустая строка. Стало быть, сколько строк в таблице отображалось, на столько строк она вниз и уезжала  

ЗЫ: В принципе, вместо дополнительных полей можно использовать что угодно - от заставочной картинки до интротекста, алгоритм я описал. Ежели где был невнимателен, и ошибся (т.е. работать не будет) - вышлю полностью шаблон.