По поводу статики - нет, не стоит, ибо если вы потом захотите покрыть ваш роутер тестами - у вас возникнут с этим проблемы. А вообще прежде чем писать свой велосипед, стоит ознакомится с популярными решениями на эту тему, разобраться как они работают и уже потом что-то лепить на коленке.
В таблицу связки пользователя и новости можно добавить флаг is_hidden например.
Проставляете его при скрытии пользователем новости, при этом не нужно городить какие-то отдельные таблицы или удалять связи между таблицами.
Если хотите использовать часовые пояса, без конвертации тут в любом случае не обойтись.
Тем более исходное время хранится не в UTC, а в Московском. Либо придется писать велосипед по вычислению времени в нужном часовом поясе относительно московского, что будет диким костылем.
Для переопределения элементов конфига в модуле есть методы класса CModule - setComponent или setComponents.
Для использования разных конфигураций например в dev и prod окружении можно в папке config создать отдельный файл для локального окружения, например local.php, где переопределить данные для подключения к БД.