It could be done in a CLI, but it seems to me that would be rather slow if you were changing professions for 200 dwarfs. I don't know though. That's just my experience with CLIs.
What I'm getting at is: What you ask is no different. Toady still has to have an API to do what you want and if he ever changes it, it will break something. But Toady's main concern, from what I understand, is a third party tool dictating that his next update include something he doesn't want added, or having them control his updates.
You can manage breakability.
If the function calls were strongly typed, then type mismatches would cause problems. So you have loosely typed function calls to mitigate that problem. You can handle deprecated calls by ignoring them. You can handle new or deleted skills/professions/etc. by defining codes for them and ignoring calls to codes that don't exist.
I think there's a way to design the API such that breakability is a non-issue. Yes, certain things will cease to work. For example, you may assign a dwarf to be a cook, and it doesn't work because that profession doesn't exist anymore. But that's not an issue. And there may be professions missing, but that's a small and easily fixed issue. It won't stop people from using the tool and shouldn't affect Toady's decision to add or remove professions/skills/etc. Yes, people will want the tool to support the new professions, but all Toady will have to do is specify the codes for the new professions. He doesn't have to work with anyone.
And then there's the issue of fragmentation. I still think fragmentation is actually less likely if Toady provides "the right kind" of interface. We already have Dwarf Companion. People went to extreme measures (memory hacking) because there was great demand for what it supplies. The lesson is that you cannot stop something that enough people desperately want.
The best way to keep a DF clone from gaining popularity is to keep people satisfied with DF. The best way to keep game mods from gaining popularity is to solve the problems mods would solve.
However, reflecting on the position I'd be in, there are things not to like about it. How many threads were there about broken utilities when this version came out? If more than half the player base comes in off a third party interface (and given how much the current interface sucks, and how much it is a source of first time downloaders dropping the game, this is not only imaginable, it is very, very likely), how would it be if it broke at each release? There's no way to mitigate that without my direct involvement -- imagine a release down the line where you can suddenly move dwarven armies around on the world map, with a tactical view and various options. That interface can't write itself, ...
There are two issues here. First, if DC used an interface similar to what I propose it wouldn't "break" even with this mega-release. And the parts that need updating would be trivial to fix. All Toady would have to do is make a table with the new codes. The same would apply to a theoretical digging/furniture tool.
But suppose a tool provided a complete interface overhaul, slick 3D graphics and such. That would need major work and major involvement from Toady.
So it seems to me the best path is to facilitate things like DC and a designation tool (and make them forward compatible), but to discourage things like a "complete interface overhaul." The best way to discourage a complete interface overhaul is to lessen demand by solving some of the problems the alternate interface would solve . . . like mass dwarf management and designation.
Suppose that it was very easy to do DC and you expect it to be easy to maintain. And it was comparably hard to do an alternate interface and would likely be a nightmare to maintain. Toady would be encouraging the former and discouraging the latter, which it seems is what he wants.
And when a new feature comes along like moving armies around a world map, it makes sense for Toady to write that first and then have 3rd parties tools after it has matured. And if modders expect that an interface will come some months down the road, they'll be less likely to start memory hacking in the interim.
And that brings up another point. There's a large difference between an add-on tool like DC and a tool that "becomes the game" and takes over all interface elements. Players should expect to play Toady's version of the game, to see new features as Toady intends them to be seen. Otherwise we're heading towards the trouble he fears.
So it seems we should only have add-ons for mature parts of the game. These parts are still changing, but those changes can be handled easily by publishing new codes. And you discourage modifications to the new stuff with the expectation that it will eventually become mature stuff that's easy to work with.