Yes, setting stockpile settings is supported via actual keystroke playback, abstracted behind a library of aliases (and aliases that combine aliases) that handle the common key sequences.
For example, a series of blueprints that I've been testing with that creates a quantum stockpile system for non-economic stone and gems looks like this:
#build
,`
,trackstopN
`,`,`
`,`,`
`,`,`
#place
,s
,
s,s,s
s,s,s
s,s,s
#query
,quantum
,quantumstopfromsouth
`,`,otherstone
`,`,enablegems
`,`,`
which will create stone stockpiles and the trackstop (dumping North), configure them like we want, and create a hauling route so dwarves will load and dump the minecart onto the quantum stockpile above. each of the strings in the query blueprint is defined in an aliases list that is distributed with dfhack or in a player-defined alias that builds on the common aliases.
As an example, "quantum" is defined like this:
quantum: {linksonly}{nocontainers}{enableanimals}{enablefood}{enablefurniture}{enablestone}{enableammo}{enablecoins}{enablebars}{enablegems}{enablefinishedgoods}{enableleather}{enablecloth}{enablewood}}{enableweapons}{enablearmor}{enablesheet}
where each of those elements are aliases themselves, for example:
foodprefix: s{Down}
enablefood: {foodprefix}e^
The caret ("^") is shorthand for {ESC}, required to exit the stockpile settings screen. query blueprints have to make sure to return to the same screen they started on whenever they apply a configuration so we can move the cursor to the next cell to configure.
Another simpler example is a food stockpile that is configured to just hold booze:
booze: {foodprefix}b{Right}{Down 5}p{Down}p^