pawelsky can you explain what the interrupt vector concern is in more detail? The IRQ driver would provide service routines for can0_ vectors. FLEXCAN_ register access will need to largely move into these routines to avoid critical section bugs. The assumption would be that other libraries would not touch the FLEXCAN_ registers or can0_ vectors.Would be good if you find a way to make it configurable. Defining a fixed interrupt vector in the library may make it incompatible with other libraries.
The simpler possibility would be notification signaling but I don't know and need to research if Arduino/Teensy 3.1 has such a mechanism.