Concrete examples of what you are attempting, start data and expected result, are always a good idea.
You say: "The issue is that the value which is assigned to the Label variable is what gets mapped on the basis of a defined key. And i have three values to map. "
I do not see anything from that text why you might need 3 formats. An explicit example of the mapping might clarify things.
ii) If there is a way that i can have multiple labels and using some criteria i can tell SAS that if the key matches then assign this label value to some other variable.
You can always assign a formatted value with something like:
othervar = put(somevar, fmtname.);
So if this needs to be conditional on a value then:
If <condition> then othervar = put(somevar, fmtname.);
If you have tried something like this and the results were not what you expect then show: What you attempted, what the starting data was and the expected result.
The multilabel formats may work but the multiple nature is only completely honored by a few procedures. The Put function in a data step is not one of them.