Is it possible to assign a public list view to a specific audience, so that the view does not appear in the drop down of available views for users that are not part of the audience?
If not, how do I hide views for specific audiences or groups?
The only way to do this would be creating a separate page for each "audience" which are security trimmed. You can then place a List View Web Part on each page which contains your custom view.
Of course, the challenge then is providing appropriate navigation :)
Try creating a view. Navigate to that view, and "Edit" the page. Then, edit the List View Web Part, expand "Advanced", and add your audience. This does not hide the view in the drop-down however.
If you create this based on a personal view this won't be an issue as the users without the appropriate permission can't select this view from the View dropdown.
My suggestion would be similar to Martin Hatch's.
Copy and paste the link to each of the view you wish to make available. Then in the navigation, create a new link for each one and apply your Audience to that link, that way, the targeted user only sees the link(s) you want them to rather than all of them.
Then in your list, go to Settings > Per Location View Settings and remove all the views. This means that although the user can navigate straight to the view you want them to via the link you've provided, they won't be able to see any of the other views from the ribbon or the breadcrumb dropdown.