Как развернуть определённый пункт меню, когда я перехожу по нему?
Можете использовать Location hash. Для этого добавляем к нужным блокам id а в ссылки добавляем в конце хэши. Пример:<li class="sub-cat">
    <a href="/gl#gl" class="a-cat">Косметика для глаз</a>
    <ul class="sub-nav" id="gl">
    <li class="in-sub-nav"><a href="#">Тушь</a></li>
    <li class="in-sub-nav"><a href="#">Обводка</a></li>
    </ul>
  </li>
Далее, в CSS добавляем .sub-nav:target {
  display: block;
}
Читаем подробнее про :target
P. S. Не поддерживается IE <= 8
Результат посмотреть не получится нормально (так, как нельзя перейти на другую страницу), но хотя бы суть уловить можно jsfiddle
В зависимости от URL присваивать класс active, который будет отображать раскрытое меню