I got it! \

(Thanks to this thread:
http://forum.x-cart.com/viewtopic.php?t=14995)
Because of other customizations, I had already separated my featured products display from my regular category products by creating customized products_featured.tpl and products_t_featured.tpl files. All I had to do was modify products_t.tpl file to be like this:
Code:
{* $Id: products_t.tpl,v 1.10.2.8 2005/06/06 05:18:43 mclap Exp $ *}
<TABLE border="0" width="100%" cellpadding="0" cellspacing="0"><TR><TD class="TableThumbnailBorder">
<TABLE border="0" width="100%" cellpadding="5" cellspacing="1">
{assign var="cols" value=3}
{math equation="floor(100/x)" x=$cols assign="width"}
{section name=product loop=$products}
{assign var="discount" value=0}
{if %product.index% is div by $cols}
<TR>
{assign var="cell_counter" value=0}
{/if}
{math equation="x+1" x=$cell_counter assign="cell_counter" }
<TD width="{$width}%" align="center" valign="top" class="DialogBox">
<TABLE width="25%" border="0" align="left" cellpadding="3" cellspacing="0">
<TR>
<TD width="372" height="100"> <A href="product.php?productid={$products[product].productid}&cat={$cat}&page={$navigation_page}">{include
file="product_thumbnail.tpl" productid=$products[product].productid image_x=$config.Appearance.thumbnail_width
product=$products[product].product tmbn_url=$products[product].tmbn_url}</A>
</TD>
</TR>
</TABLE>
{$products[product].product}
{$lng.lbl_sku}: {$products[product].productcode}
{if $active_modules.Special_Offers ne "" and $products[product].have_offers}
{include file="modules/Special_Offers/customer/product_offer_thumb.tpl" product=$products[product]}
{else}
{/if}
{if $active_modules.Subscriptions ne "" and $products[product].catalogprice}
{include file="modules/Subscriptions/subscription_info_inlist.tpl"}
{else}
{if $products[product].taxed_price ne 0}
{if $products[product].list_price gt 0 and $products[product].taxed_price lt $products[product].list_price}
{math equation="100-(price/lprice)*100" price=$products[product].taxed_price lprice=$products[product].list_price format="%3.0f" assign=discount}
{if $discount gt 0}
<FONT class="MarketPrice">{$lng.lbl_market_price}: <S>
{include file="currency.tpl" value=$products[product].list_price}
</S></FONT>
{/if}
{/if}
<FONT class="ProductPrice">{$lng.lbl_our_price}: {include file="currency.tpl" value=$products[product].taxed_price}</FONT>
<FONT class="MarketPrice">{include file="customer/main/alter_currency_value.tpl" alter_currency_value=$products[product].taxed_price}</FONT>{if $discount gt 0}, {$lng.lbl_save_price} {$discount}%{/if}
{if $products[product].taxes}
{include file="customer/main/taxed_price.tpl" taxes=$products[product].taxes}{/if}
{else}
<FONT class="ProductPrice">{$lng.lbl_enter_your_price}</FONT>
{/if}
{/if}
{if $active_modules.Feature_Comparison ne '' && $products[product].fclassid > 0}
{include file="modules/Feature_Comparison/compare_checkbox.tpl" id=$products[product].productid}
{/if}
{if $usertype eq "C" and $config.Appearance.buynow_button_enabled eq "Y"}
{include
file="customer/main/buy_now_featured.tpl" product=$products[product]}
{/if}</TD>
{capture name=prod_index}
{math equation="index+x+1" index=%product.index% x=$cols}
{/capture}
{if $smarty.capture.prod_index is div by $cols }
</TR>
{/if}
{/section}
{if $cell_counter lt $cols}
{section name=rest_cells loop=$cols start=$cell_counter}
<TD class="DialogBox">
<hr>
</TD>
{/section}
</TR>
{/if}
</TABLE>
</TD></TR></TABLE>
{if $active_modules.Feature_Comparison ne '' && $products && $printable ne 'Y'}
{include file="modules/Feature_Comparison/compare_selected_button.tpl"}
{/if}
This line here controls the number of columns, just change the
value=3 to the number of columns you want it displayed in:
Code:
{assign var="cols" value=3}
Also, this relies on the "Display only featured products list in multicolumn format" checkbox not being checked in the General Settings --> Appearance Options area of the admin.
Thanks for all your help!