Вы можете вернуть только одно значение с помощью подвыбора, поэтому вы должны получить поля из таблицы Рекомендованных с помощью объединения - я полагаю, это то, что вы уже имеете:
SELECT Items.Name, tblBooks.AuthorLastName, tblBooks.AuthorFirstName, Recommended.SKU
FROM Items
INNER JOIN Recommended ON Recommended.ProductCode = Items.ProductCode
WHERE Items.ProductCode IN (
SELECT TOP 10 Recommended.ProductCode
FROM
Recommended
INNER JOIN Stock ON Recomended.ProductCode = Stock.ProductCode
AND Stock.StatusCode = 1
WHERE (Recommended.Type = 'TOPICAL') ORDER BY CHECKSUM(NEWID()));
Скорее всего, соединение в реальности тоже внешнее. Это действительно не должно иметь никаких проблем с производительностью, если у вас есть и Предметы, и Рекомендованные таблицы, проиндексированные в ProductCode.