Perhaps this is shorter with a canadian number flag:
[custom-variables]
exten => s,1,Set(RecruitingCA=12345678911) ; Canadian CID for Recruiting
exten => s,n,Set(RecruitingUS=98765432111) ; US CID for Recruiting
exten => s,n,Set(SupportCA=9999999999) ; Canadian CID for Support
exten => s,n,Set(SupportUS=8888888888) ; US CID for Support
exten => s,n,Set(CSCA=7777777777) ; Canadian CID for CS
exten => s,n,Set(CSUS=6666666666) ; US CID for CS
[macro-dialout-trunk-predial-hook]
exten => s,1,NoOp(Entering user defined outbound macro)
exten => s,n,GotoIf($["${OUTBOUND_GROUP_ID}" != ""]?dialout-group-${OUTBOUND_GROUP_ID}-predial-hook,s,1)
; Function to Check if a Number is Canadian
exten => s,n,Set(IsCanadian=0) ; Default to not Canadian
exten => s,n,GotoIf($["${OUTNUM:0:3}" = "204"]?set_canadian:check_next_area_code) ; Manitoba
exten => s,n(check_next_area_code),GotoIf($["${OUTNUM:0:3}" = "226"]?set_canadian:check_next_area_code) ; Ontario
exten => s,n,GotoIf($["${OUTNUM:0:3}" = "236"]?set_canadian:check_next_area_code) ; British Columbia
exten => s,n,GotoIf($["${OUTNUM:0:3}" = "249"]?set_canadian:check_next_area_code) ; Ontario
exten => s,n,GotoIf($["${OUTNUM:0:3}" = "250"]?set_canadian:check_next_area_code) ; British Columbia
;... (NEED TO ADD all other area codes) ...
exten => s,n,GotoIf($["${OUTNUM:0:3}" = "905"]?set_canadian:default_cid) ; Ontario - last one
; Set the Canadian flag if the number is Canadian
exten => s,n(set_canadian),Set(IsCanadian=1)
exten => s,n,Goto(default_cid)
; Default CID logic based on team and IsCanadian flag
exten => s,n(default_cid),GotoIf($["${ACCOUNTCODE}" = "Recruiting" & ${IsCanadian} = 1]?canadian_recruiting)
exten => s,n,GotoIf($["${ACCOUNTCODE}" = "Recruiting"]?us_recruiting)
exten => s,n,GotoIf($["${ACCOUNTCODE}" = "Support" & ${IsCanadian} = 1]?canadian_support)
exten => s,n,GotoIf($["${ACCOUNTCODE}" = "Support"]?us_support)
exten => s,n,GotoIf($["${ACCOUNTCODE}" = "CS" & ${IsCanadian} = 1]?canadian_cs)
exten => s,n,GotoIf($["${ACCOUNTCODE}" = "CS"]?us_cs)
; Set the final CallerID based on team and country
exten => s,n(canadian_recruiting),Set(CALLERID(number)=${RecruitingCA})
exten => s,n(us_recruiting),Set(CALLERID(number)=${RecruitingUS})
exten => s,n(canadian_support),Set(CALLERID(number)=${SupportCA})
exten => s,n(us_support),Set(CALLERID(number)=${SupportUS})
exten => s,n(canadian_cs),Set(CALLERID(number)=${CSCA})
exten => s,n(us_cs),Set(CALLERID(number)=${CSUS})