You need to do aggregation string concatenation. This is a pain in SQL Server. The result looks something like:
with t as (
SELECT bi.Invoice_Number as AccountNumber,
replace(convert(varchar(10), bi.Invoice_Date,101) ,'/','') as AdmitDate,
InvoiceCPT_FeeAmount as TotalCharges,
biCPT.InvoiceCPT_Code AS CPTCode,
InvoiceCPT_FeeAmount as ItemCharge
FROM dbo.BILL_InvoiceCPT bicpt LEFT JOIN
dbo.BILL_Invoice bi
ON bicpt.Invoice_ID = bi.Invoice_ID
)
select accountNumber, admitDate,
STUFF((select ',' + CAST(totalCharges as varchar(255))
from t
where t.AccountNumber = t2.AccountNumber
for xml path ('')
), 1, 1, '') as TotalCharges,
STUFF((select ',' + CAST(itemCharge as varchar(255))
from t
where t.AccountNumber = t2.AccountNumber
for xml path ('')
), 1, 1, '') as ItemCharges
from (select distinct accountNumber, admitDate
from t
) t2
Note: I haven't tested this SQL so it might have syntax errors.