You can pass any object to TT and call methods on it, so nothing is stopping you from passing in a Date::Calc::Object instance.
Calculating in the template is a bad design, in my opinion. I would calculate it in the perl code and pass in a boolean to the template called "date_is_future" that you use for setting the color.