I have flat rate shipping set up but I'd like to have a lower flat rate shipping if the subtotal of the order is less than $20. Is there a way to achieve this?
For this purpose it's better to use table rate shipping. You can read how to set up it here - http://www.magentocommerce.com/knowledge-base/entry/how-do-i-set-up-table-rate-shipping .
But if you like to modify flat shipping - the price is set in
app/code/core/Mage/Shipping/Model/Carrier/Flatrate.php -> collectRates -> $shippingPrice. You can add a new option for the lower price in
app/code/core/Mage/Shipping/etc/system.xml -> <carriers -> <flatrate -> <fields>.