I guess in the first paragraph you are talking about the package 'site-wide-search' - or did you mean 'search'+'openfts-driver' or (the not implemented) 'search'+'intermedia-driver'? There's a lot of potential of confusion if you don't say exactly what packages you mean.
Regarding privileges: they form a hierarchy. A privilege can have child privileges and thus imply them. E.g. 'read' implies 'news_read'. 'admin' implies all, until some crazy package creates its own top level privilege (which would be perfectly possible). See also the new permission grant page that tries to visualize that.
So I don't see any reason why you couldn't check for 'read' on the objects you want to display. Propably the most efficient way makes use of acs_object_party_privilege_map somehow (not sure).