Това '?'
не е заместител, това е буквален въпросителен знак. Заместителите не се цитират. Както е, имате два контейнера и три стойности, които се опитват да бъдат обвързани.
Така че опитайте:
$sth = $dbh->prepare("SELECT users.userID,fname,lname,status FROM users INNER JOIN friends ON users.userID = friends.friendID WHERE friends.userID = ? AND ((friends.status LIKE 'group%' OR friends.status = 'friends') OR (users.status = ?) OR (users.userID = ?)) ORDER BY friends.status,lname,fname ASC");