It is possible to query running tasks via business key, but not for historic task instances.
It should also be possible for the historic ones.
Reasoning from the forum post:
> Unfortunately it is not possible (as far as I can see) to use the BusinessKey as a filter
> criteria in the HistoricTaskInstanceQuery. That makes it unnecessary complicated to
> request all Tasks that belong to a process instance and its sub process instances.
> By now you first have to search all process instances with the BusinessKey and than
> iterate to find the tasks that belong to these process instances.