Выражать буду только собственные мысли исходя из прошлого опыта. Что то последнее время зачастили сверх-обидчивые новички, которым любые советы, как красная тряпка.
1. Оставьте в покое страницу Акций . Не ломайте логику работы движка. Я бы вам предложил использовать для вашей задачи, какой-нибудь фильтр, с функцией "Посадочные страницы". Если совсем простым языком, то вы нужным товарам, присвоите некое общее значение. Потом с помощью фильтра получите страницу с заданным условием фильтрации и эта страница и будет одной и тех из которых вы создадите нечто общее( в вашем случае страницу "Акции" ) для нужных товаров, с разделением на категории.
Когда то очень давно, для опенкарт 2.0 я писал модификатор, который выводил на странице Акций, блок с разбивкой на под-категории, так же как выглядит это в категориях обычных, где есть под-категории. Но позже всё же пришли к решению фильтр+посадочные страницы.
2. Этот пункт более менее понятен. Задайте вопрос Гуглу о условии "if logged" для Opencart. Куча примеров использования и реализаций.
3. Посмотрите , что либо из ранее предложенных вариантов, как я понимаю у вас есть некие базовые знания. Вот это например , для старых версий опенкарт
https://opencartforum.com/files/file/1443-vyvod-ceny-dlya-zaregistrirovannyh-a-lya-sitilink-vqmod/