From that list, Garfunkel, the only part you would need to artificially contrive would be the Waterfall, I think.
A surface volcano is pretty straightforward, provided you have 8 non-volcanism tiles surrounding the volcanism tile of the surface volcano, you're likely to get one that doesn't extrude too far above the embark level. When volcanism tiles are adjacent, they build on each others elevation. With sufficiently few and far between volcano's, they should all be surface. Or at least, enough or many of them.
Waterfalls are created whenever there is a disparity in elevation of two rivers. So, build one or two rivers of whatever height (51+) and width (up to a full tile) and run them into each other. There should be some examples in this thread of how to do that. Otherwise, running rivers towards the ocean also creates waterfalls, but the method is slightly different due to the way rivers and the ocean meet, in DF.
PW will help with the rivers, but as there is an ocean and potential volcanoes, you'll likely end up with very thick worlds, unless you raise the ocean up to ~80 (from 1). If you raise it too high (99) you wont' get any blue ocean tiles, which causes some issues.
You can't set part of the world to be Pre-Set Field Values, and some not, within a value type. What I mean by that is, you can't say, just make this part of the elevation of the map random, and then artificially pre-set this other part. It's an all or nothing endeavor.
Consequently, you'll end up with extremely large worldgen configuration files, most of which are too large to post on these forums if your world size is very large and/or you use preset field values for more than one value type. Just something to keep in mind. You can use and link to pastebin, though.