In my opinion, yes it is possible. There are several ways of externalizing scripted data. The way that I did was just creating a library using the Java objects and that Java objects can accept a parameter and then passed to the report. Since the report are the same, I also created a report template that uses the Java objects just for data sets. If I change the Java Objects, I don't need to change the report script because it references to the Java object. I know it's kind of a high level but that's what I did. You may start exploring the scripted data sets using Java.
This is just my opinion.