Могут ли у разных объектов (ref0 != ref1) быть ref0.equals(ref1) == true?



Да, могут. Для этого в классе этих объектов должен быть переопределен метод equals().



Если используется метод Object.equals(), то для двух ссылок x и y метод вернет true тогда и только тогда, когда обе ссылки указывают на один и тот же объект (т.е. x == y возвращает true).