1. Если нужен порядок обработки в event bus, возможно у вас в системе есть проблемы(см. Temporal coupling)
2. Да, паттерны решают похожие задачи, есть разница в децентрализации. В Chain if responsibility есть менеджер который который цепочку вызывает по порядку.
В то время как event - событие, факт, один модуль кидает ивент и ему нет никакого дела кто будет его обрабатывать и кому этот ивент интересен.
Обработчики ивентов не знают друг о друге и никак на другие обработчики не полагаются, и ни один обработчикик не может остановить дальнейшую обработку события. (Поэтому ивенты в js с их stopPropagation(), или "events" в некоторых фреймворках не совсем ивенты).