I've used user_y, but I'm not sure if I've ever applied it across multiple datasets.
I think you can define user_y once outside your xdds:
user_y empty_xy empty.xy
You can then have a fit_obj using the same empty_xy in each xdd
xdd
prm empty_scale1 0.1
fit_obj = empty_scale1 * empty_xy;
That will get around the "unique parameter name" error. However I think that you have to use a "prm" not a "local" for empty_scale. Try it and see. If so, you can't hide everything in for_xdds. Even if you could use local it wouldn't save you much space in the INP file as you'd need a "local empty_scale 1" for each xdd, it would just mean you don't have to set up multiple prm names. The simplest I can see at the moment is two lines in each xdd as above.