var holidays = {
"0" : [1, 2, 3...], //праздники в январе
//и т.д.
}
Пользователь указывает не число, а число календаря, а значит можно узнать календарный период (чистый) - от указанного дня указанного месяца до N дня следующего (или ткущего месяца). Эти расчеты не сложно сделать, а если номер месяца есть в объекте holidays, значит проверить есть ли праздники в этом месяце попадающие на период отпуска. И если есть, то суммировать каждое совпадение.