As of today, the only way to access the Report definition object from an expression is by using "ReportItem" global object and doing something like this:
public static MyBusinessObject GetMyBusinessObject(ReportItem item)
{
return ((MyReportType)item.Report.ItemDefinition)._myBusinessObject;
}
It's very inconvinient + it does not work in Parameter's Value/Text/AvailableValues expressions (because there is no ReportItem).
I think, the good and convinient way to work this around would be to have a new global object, named "Report", available in expressions.