-- First, you can simplify your query using this type of 'right-justify-zero-fill' statement (adjust if more or less than 9-characters):
select right('000000000' + cast(cr.CHECK_NUM_NUMERIC as varchar(9)),9)
-- Then try something like this (I'm not able to test it, so there may be some adjustments):
UNION
select '00123456789999999999940'
+ right('000000000' + cast(sum(cr.CHECK_AMT) as varchar(9)),9)
+ right('000000000' + cast(count(cr.CHECK_AMT) as varchar(9)),9)
+ '000'
from chk_num_alpha_ctl cna,
chk_reconciliation cr
where ( cr.check_num_alpha = cna.check_num_alpha ) and
( ( cr.check_rtn_void_dte is null ) AND
( cr.check_dte = @checkDate ) ) AND
( cna.bank_acct_num = 'xxxx-xxxx' )
GROUP BY cr.check_dte
order by cr.check_dte ASC