Most carriers do not allow you to send the outbound Caller ID name (number only) to the public network for end-user customers, it is typically only used in QSIG or inter-PBX networking with ISDN.
Check with your carrier to see if they allow this first (none of the major carriers in the US do to my knowledge), but most do allow a custom Caller ID table, where if you submit a list of DID's with the numbers and names, they will add them to their Caller ID database. We have a couple customers doing this, it is setup something like this...
355-1000 - City of Anytown (the main billing number)
355-1001 - 1199 - Anytown Administration
355-1200 - 1299 - Anytown Public Works
355-1300 - 1399 - Anytown Police Dept
355-1400 - 1499 - Anytown Fire Dept
...
355-1900 - 1999 - Anytown Public Health
Think you get the idea, but again, this is setup with the carrier and based upon the outbound CLID we send with the call, we cannot send the name directly.