Конечно, это должно быть возможно сделать в хранимой процедуре. Вы можете создавать временные таблицы и использовать курсоры с помощью оператора FOREACH. Я сомневаюсь, что это выполнимо в прямом SQL.
Оценка FIFO - как, например, я купил 27 лотов определенной акции разного времени и цены; теперь я продал кучу этих акций и мне нужно рассчитать стоимость, используя FIFO?