SSRS может кэшировать все 5 версий отчета.Один из способов сделать это в SSRS 2008+ - создать подписку на основе данных.Напишите небольшой запрос, который возвращает 5 строк с различными значениями параметров.Запланируйте это для запуска и используйте значение из запроса для заполнения параметра.Установите длительность кэша примерно на 600 минут.
Это запустит отчет один раз с каждым значением параметра и кеширует их все.Это будет продолжаться в течение 10 часов, поэтому вы можете использовать его в течение дня.
Имейте в виду, что это не относится к другим параметрам, оно кэширует только те комбинации параметров, с которыми вы его запускали в прошлом10 часов.
Если вы не можете создавать подписки на основе данных, отдельные для каждого кэша будут работать нормально.В более новых версиях SSRS вы можете настроить планы обновления кэша вместо подписок.
Если у вас возникли проблемы с этим подходом, я бы рекомендовал настроить ночной прогон для подготовки данных в таблице, оптимизированной для чтения.Этот ETL снимет нагрузку с процедур и должен ускорить запросы по требованию.