You can change
which uses pin 2, to
which is pin 3 on the Uno. These are the numbers of the external interrupt. The Uno only has two of them, which are tied to those two pins. So as long as you are using the Arduino Uno, you need to use one of these. The Arduino Mega for example has more external ...
This is a problem with the Teensy boards - or more correctly that the Jeelib Sleepy library does not support the Teensy boards.
You will need to modify the library to make it work for Teensy boards. Or you could use another low power/sleep library.
I have heard that there's a way to set or reset the define statement inside the .ino file to customize this setting for some libraries, but I don't know how to do this myself
There are many ways to achieve what you want, you might not even need the #ifndef macro, use your library class construct to allow user to pass in the list size as an argument and but ...