As I see it, you want to change the addressing drastically in an existing program.
For example DB200.DBB5 to DB300.DBB12, so both the DB and the addresses within the DB.
Should be doable without much effort.
As for the addresses within the DB, then I am certain that you can do as described earlier. TIA seems to use symbolic priority also for S7-300. I cannot find anywhere to select absolute address priority.
As for the DB addresses, then you can keep the symbolic name, and only change the DB no. Open the properties of the DB select manual DB numbering, and change the 200 to 300. The change takes effect instantly (edit: in STEP7 Classic, the change would not take effect in any open windows. You had to close all windows and do a consistency check,. In TIA it seems that the changes are updated instantly also in already open Windows). You have to compile again of course.
If you want to change the addressing only partly (leaving some places in the program unaffected), then it gets complicated.
You can do a lot with arrays. You can make arrays of multi-instance blocks.
Are you talking about editing the program the easiest way, or do you mean to dynamically address objects at runtime ?
As long as your DB blocks are non-optimised, and compiled, then change to absolute address display and do just that. See picture below.