The only way to do this with 3.3 is with translations. For example, create a translation with XXXXX and then set the calling party mask to whatever you want, and don't change the called party transform mask. That will get you what you want.
You have to make sure you use a different set of translations with the appropriate calling search space which matches the CSS of the original caller.
For example, if you have three calling search spaces which restrict calling on-net, and you want to be able to mask calling party DNs for each of those, then you need three translations.