1) Firstly, dont update it directly in catalog.xml
but in local.xml
of your custom theme.
2) Assuming that the actual block name is:
<block type="...", name="block1" template="...">
<action method="setColumnCount"><count>4</count></action>
</block>
//Now we add another one
<block type="...", name="block2" template="...">
<action method="setColumnCount"><count>2</count></action>
</block>
3) In app/design/frontend/{package}/{theme}/template/path to your your phtml
replace the block that calls the block1 with:
<?php $isMobile = Zend_Http_UserAgent_Mobile::match( Mage::helper('core/http')->getHttpUserAgent(), $_SERVER); ?>
<?php if($isMobile): ?>
<?php echo $this->getChildHtml('block2') ?>
<?php else: ?>
<?php echo $this->getChildHtml('block1') ?>
<?php endif; ?>