Not within the templates you cant.
The values of the arrays that holds the products is already populated before it gets to the template.
You can get it to do this in the php scripts themselves and assign each categories products to a new smarty array such as $products142 or $products 156 etc and then loop through these.
Be warned though that this would be a lot of products.
Another alternative is amending the products.php page or creating a copy of it so that it takes all products into the $products array, then put some logic into the section loop for the display.
ie
{if $products[product].categoryid eq "142"}
display it
{/if}
If you have a lot of products this will eat your server though.
