1. Не надо так делать. Сайту твоя долбёжка запросами не понравится. Как минимум, введи задержку от 10 минут и более.
2. Ты ознакомился с тем, как вообще работают асинхронные приложения? Судя по терминологии вроде "независимый while", нет. Почитай на эту тему, она не тривиальная, но без понимания основ асинхронщины ты далеко не уедешь.
3. Зависит от библиотеки, но так или иначе тебе нужна корутина, которая сначала делает запрос к сайту (лучше тоже асинхронно, с помощью aiohttp) и обновляет хранимые в кэше сведения, а потом спит нужный интервал времени (и не с помощью time.sleep()!). Эту корутину надо запустить в рабочем цикле (loop) asyncio, а потом уже запускать остального бота. Тогда боту практически всегда будет доступен этот кэш.