Вам нужно либо использовать временные таблицы для сохранения результата, либо преобразовать SP [B] в табличную функцию, которую затем можно вызвать встроенной.
например,
CREATE FUNCTION dbo.FxnB(@Id INTEGER)
RETURNS TABLE
AS
RETURN
(
SELECT FieldA, FieldB, FieldC
FROM SomeTable
WHERE ID = @Id
)
-- Then use it like this
DECLARE @FieldA VARCHAR(50)
SELECT @FieldA = FieldA FROM dbo.FxnB(1)