Это определенно возможно, это может быть не одна цепочка методов.
Создание вашего запроса в виде хэша - это первый способ, который мне пришёл в голову, чтобы достичь того, чего вы хотите.Надеюсь, это будет легко добавить в модель или контроллер без особых изменений.
query = { first_name: first_name, surname: surname }
query = query.merge(date_of_birth: date_of_birth) if date_of_birth.present?
individual = Individual.find_or_create_by(query)