If the value of the constant can properly be set before the page displays each time, then PHP inside the define will be okay if written properly. If the currency could be reset without reloading the page, that would be a problem, as the define would not be reset. Your whole issue is that the PHP is inside the text string. It needs to be concatenated with the text parts, like this:
PHP Code:
define('TEXT_FREESHIPPING_SIDEBOX', '
FREE SHIPMENT OF ORDERS OVER ' . $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) . '
');
or maybe
PHP Code:
define('TEXT_FREESHIPPING_SIDEBOX', '<br /> FREE SHIPMENT OF ORDERS OVER ' . $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) . '<br />');