Ответ 1
Вы почти получили его:
if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then
Фактически, круглые скобки могут быть опущены из-за приоритета оператора, поэтому его также можно записать как
if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then