You can do something like this with model validations to not allow overlapping times. On the callback within the FullCalendar, you would handle the necessary alerts there.
That's strange that a lot of people have such complaints about Chosen. I've been using it for quite some time and never experienced any of the problems that they were describing. I had used Select2 in the past and have nothing against it. Both JS Packages just seem to work. :)
However, I do agree that this episode could have just as easily been swapped with Select2 with minor changes.
Yes it is possible, and it is actually the behavior on the demo calendar on https://fullcalendar.io/
gruvbox for sublime text. It is also available for VIM, RubyMine, etc.