Yes the fastest setting would be 1 as in 1 millisecond as NJDude stated. The timer does not guarantee to call the subroutine on the exact time you specify, it will do it when it's ready but not before the time you specify.
As other code and processes are running, setting too small a value will have no effect on, and may even slow down, the timing between calls.
I'm not sure how delayed calls are managed, but it would not be a good idea to have too many missed, it could screw up your program logic for a start.