Начиная с версии 1.2.0 в теме дизайна Megashop 3.0 есть возможность подменить стандартные фразы "В наличии" / "Не в наличии" на свои, в зависимости от наличия на конкретном складе.

К сожалению, текущий штатный функционал настроек темы не позволяет нам создать интуитивно понятный интерфейс, поэтому требуется ввод несложного кода.
Для данного функционала нужно создать или использовать существующий блок с id megashop.stocks_available_statuses
Напомню, что блоки создаются в разделе "Сайт" - "Блоки".

Пример готового кода блока:
{capture assign='stocks_condition'}
{literal}
{if $stocks['1'] >= 5}
{$status = "in-stock"}
{$text = "В магазине"}
{elseif $stocks['1'] >= 1}
{$status = "low"}
{$text = "В магазине (мало)"}
{elseif $stocks['2'] >= 1}
{$status = "in-stock"}
{$text = "В наличии на складе"}
{elseif $stocks['v1'] > 10}
{$status = "low"}
{$text = "Предзаказ"}
{elseif $stocks['1'] <= 0 && $stocks['2'] <= 0 && $stocks['v1'] <= 0}
{$status = "out-of-stock"}
{$text = "Нет в наличии"}
{else}
{$status = "in-stock"}
{$text = "В наличии"}
{/if}
{/literal}
{/capture}
{$stocks_statuses = [
'1' => [
'in-stock' => 'Есть',
'low' => 'Мало',
'critical' => 'Почти нет',
'out-of-stock' => 'Нет'
],
'2' => [
'low' => 'Осталось {$n}',
'out-of-stock' => 'Нет'
]
]}
{$wa->globals('megashop.stocks_available_statuses', ['stocks_condition' => $stocks_condition, 'stocks_statuses' => $stocks_statuses])}
Далее описание составляющих этого кода:
{capture assign='stocks_condition'}
{literal}
{if $stocks['1'] >= 5}
{$status = "in-stock"}
{$text = "В магазине"}
{elseif $stocks['1'] >= 1}
{$status = "low"}
{$text = "В магазине (мало)"}
{elseif $stocks['2'] >= 1}
{$status = "in-stock"}
{$text = "В наличии на складе"}
{elseif $stocks['v1'] > 10}
{$status = "low"}
{$text = "Предзаказ"}
{elseif $stocks['1'] <= 0 && $stocks['2'] <= 0 && $stocks['v1'] <= 0}
{$status = "out-of-stock"}
{$text = "Нет в наличии"}
{else}
{$status = "in-stock"}
{$text = "В наличии"}
{/if}
{/literal}
{/capture}
где:
$stocks['n1'] - указание конкретного склада. Вместо n2/n3/n1 нужно укзать id вашего склада, пример: $stocks['1'] , $stocks['2']. Если склад виртуальный, то добавить "v", пример: $stocks['v1'].
В теле условий указать присваивание двух переменных:
К сожалению, в текущем штатном функционале складов не указывается ID складов. Для того, чтобы узнать ID нужно навести курсор на кнопку редактирования склада и посмотреть на ссылку:

В том же блоке ниже добавляем код:
{$stocks_statuses = [
'n1' => [
'in-stock' => 'Есть',
'low' => 'Мало',
'critical' => 'Почти нету',
'out-of-stock' => 'Нету'
],
'n2' => [
'low' => 'Осталось {$n}',
'out-of-stock' => 'Нету'
]
]}
Это массив, у которого ключи - id складов, значения - массив вида 'статус' -> 'текст'
В конце блока обе переменные ($stocks_condition, $stocks_statuses)(или одну, если только одна) поместить в глобальную переменную, в виде массива, с ключами, совпадающими с названиями переменных:
{$wa->globals('megashop.stocks_available_statuses', ['stocks_condition' => $stocks_condition, 'stocks_statuses' => $stocks_statuses])}