You using confusing terminology. A format is an attribute of a variable. SAS has just two variable TYPEs, either floating point numbers or a fixed length character strings.
It looks like you are currently converting a date value (number of days since 1960) into a month value (integer between 1 and 12) by using the MONTH() function. Then attached a format that show that number as a month name.
Sounds like you would prefer to create a character variable instead. Use the PUT() function to get the result of display the value using a given format specification.
put(month(table.field),nlstrmon.) as MONTH
A format is instructions for converting values into text. You can attach them to a variable (as in your original code) and SAS will use them as the default way to display the values. But if you use PROC EXPORT or XLSX libname engine to convert your data into an EXCEL it will copy the value, not how it is displayed. For some key formats, like date, time and datetime, SAS tries to convert the value to a matching value in Excel and attach an appropriate display format to the cell. But it does not know how to map every possible format into an Excel equivalent. Is there even an Excel equivalent that displays 1 as January?