Tak, można.
Algorytm binary_search przeszukuje posortowany kontener porównując obiekty za pomocą operatora <, którym bez problemu można porównać 2 stringi.
vector<string> vecOfStr{"adam", "ewa", "zbigniew", "stonoga"};
//sortowanie
sort(vecOfStr.begin(), vecOfStr.end());
//wyszukiwanie binarne
bool found = binary_search(vecOfStr.begin(), vecOfStr.end(), "ewa");
//wyświetlenie czy znaleziono
cout << (found?"znaleziono":"nie znaleziono") << endl;