No that is not possible! I mean your data example cannot be realised. Maybe your intention can be produced (see the suggestions by Stefan and Andrew for that matter) but your example cannot! Nothing can never be translated into something using ApplyMap().
Producing a new code 5000 out of nothing using an Applymap() function call cannot be done. There is one sure thing you will have to stuff into a translation function and that is an actual source value. Nothing doesn't count as a source value.
Your explanation seems to indicate that you want tro replace an existing code by an updated one - if availabl - and leave the original one as-is if no update is available. That is the most basic use of an ApplyMap() call like:
LOAD Applymap('MapOldCode2NewCode', ProdCode, ProdCode) AS ProdCode, // Update original