Моё решение. Прошу прокомментировать.
Насчет "при равных условиях наиболее дорогой" - реализовала с помощью третьего субконто "Партия". Исходила из того, что в одном поступлении не может быть двух строк с одинаковым сроком годности и разной ценой - на что есть соответствующая проверка в обработке проведения Приходной. Не знаю, будет ли это правильно, т.к. в задаче в явном виде такого условия нет.
Ещё вопрос: как заставить списание проводиться концом дня? У меня так проводится, только если выбираю вручную не сегодняшнюю дату, а более раннюю - иначе проводит оперативно, текущей секундой.