Hm... The answer would be maybe, but no. Not as a drawing constraint while changing stuff in Agenda. But if you were using Agenda itself, then you are in control of the appointment implementation. Appointment is only an interface and Agenda itself only requires instances of a class that implements that interface. So it is possible to override the setEndTime(Calendar), and then check all other appointments and then decide to accept that value or not (and show an error). Not perfect but maybe close enough.
However, VCalendarAgenda has its own classes implementing Appointment, so there it is not possible to "get a finger in between".
I think it would not be that difficult to add a callback to Agenda, which is called when modifying an appointment, but the behavior of when that callback returns "not allowed" would be tricky.