We use a huge set ( about 3000) of formats using proc format. This is done with proc format; value; syntax. I some how feel this is increasing the run time of the program. Is there an alternative way to do this?
It's unclear whether the PROC FORMAT execution is what you feel is "increasing the run time" or whether using the SAS formats in your DATA step code is where you have concern for run time.
I don't expect you will see significant run time improvements with using the CNTLIN= approach, however that approach will make it much easier to maintain your input/output data values used with these formats.
You can analyze your SAS execution time easily by not executing the PROC FORMAT code, and setting the NOFMTERR option to experiment. Review the SAS log information for DATA and PROC step execution times.
Why don't you create a permanent format library. It "sounds" like you are running the PROC FORMAT code in each job possibly, via %INC. but the point is you don't need to do it that way. A library would be more efficient.