In Activity Detail Reports I can set a filter to include or exclude case activities.
Is there a way of filtering activity searches in a similar fashion?
The custom search called Activity Search shouldn't be too hard to update. (See Find - Custom Searches - Activity Search. The file is CRM/Contact/Form/Search/Custom/ActivitySearch.php.) It already includes some partial case-awareness.
In fact, if you run it and then select all records, and then from the actions dropdown choose export contacts (yes, contacts), it will then export the activity records and there'll be an unnamed column that has the case id. There's 3 unnamed columns - the last one is case id, and it's blank if it's not a case activity.