In order to retrieve topCPUProcessesTrend metrics in a rule a time range would have to be manually created and passed to the dynamic property. For example:
def endTime = System.currentTimeMillis();
def startTime = endTime - (60 * 60 * 1000L); // 1hr time range
def str = new SpecificTimeRange(new Date(startTime), new Date(endTime), -1, 10000);
That said, it may not be necessary to use the trend data in rules. It would be more efficient to instead use the topCPUProcesses property that references the HostTopCPUProcessObservation observation from which the trend objects are produced. The rule could be data-driven from that property (i.e. # topCPUProcesses #) and would be triggered each time top-CPU information is submitted to the server. The rule code could then inspect the value to see the current set of top processes. The trend objects would only be useful if the rule logic needed to see some usage of the processes over time.