If you are going to use those IDs to update a table, what use to you have of a string?
This seems more natural:
INSERT @Ids(id)
select SS.[Id]
from stockmanager.Stock SS
inner join stockmanager.StockStatus SSS on SS.StockStatusId=SSS.Id
inner join stockmanager.StockStore SST on SS.Id=SST.StockId
inner join storedatabase.Store SDS on SST.StoreId=SDS.Id
where SSS.Id=2 and SST.StoreId=124
UPDATE tbl
SET ...
WHERE ids IN (SELECT id FROM @ids)
If you really want a comma separated list you can to:
SET @IDs =
(select concat(SS.[Id], ',')
from stockmanager.Stock SS
inner join stockmanager.StockStatus SSS on SS.StockStatusId=SSS.Id
inner join stockmanager.StockStore SST on SS.Id=SST.StockId
inner join storedatabase.Store SDS on SST.StoreId=SDS.Id
where SSS.Id=2 and SST.StoreId=124
FOR XML PATH(''))
SELECT @IDs = substring(@Ids, 1, len(@IDs) - 1)