You need to break your code in two parts. First will fill a table variable by splitting returned result of a sub query and the second part will use this table variable for getting result. A pseudo code would be like this
DECLARE @TBL TABLE
(
GL_ID VARCHAR(100)
)
INSERT INTO @TBL (GL_ID)
SELECT Item
FROM (select ApplGLCd from ebreportstructureho
where grpname = 'Appendix') T CROSS APPLY dbo.SplitStrings_Moden(T.ApplGLCd,',')
SELECT date,SUM(clcr-cldr) AS ClosingCr
FROM ebgltransaction
INNER JOIN @TBL T ON ebgltransaction.glcd = T.GL_ID
WHERE brncd='0002'
AND date BETWEEN '20151001' AND '20151031'
GROUP BY date
ORDER BY date
Please refer below for split functions
Split strings the right way - or the next best way[
^]