The list you have there probably isn't a good starting point. Some of the plants on there are easy, but I have to wonder what the author was thinking putting downoi of all things on the list. Very finicky, challenging plant, that. I'd be more inclined to place it on a "top 10 most difficult" list than a "10 easiest" one. Otherwise, though, the list isn't too terrible... Riccia isn't difficult to grow, but it does require a lot of light... Rotala sp. 'Colorata' isn't horrible by stem plant standards, but there are easier choices.
Loaches are excellent diggers, and kuhlis in particular will worm (pretty much literally) their way through the substrate and dig up nearly everything. As such, an established tank with well-rooted plants is the best bet. Choose plants that form large root systems, as they're less likely to be uprooted by casual digging.
A better list to work from would be something like the following:
Echinodorus spp. (sword plants)
Cryptocoryne spp. (crypts)
Vallisneria spp. (aka "vals"—jungle, Italian, corkscrew, etc)
Hygrophila corymbosa (a stem plant, but one that tends to be a bit more inclined to dig in with its roots. Comes in several leaf shapes).
Nymphoides aquatica ("banana plants"—these form downright massive root systems)
Nymphaea spp. (dwarf water lilies... delicate at first, but once rooted will spread anchors all over)
Sagittaria subulata (dwarf sag—a good, undemanding choice for the foreground)
Anubias spp., Java ferns (Microsorum pteropus), and mosses (Vesicularia, Taxiphyllum, Fissidens, etc.) are great choices as they can be tied onto rocks and driftwood as opposed to rooted in the substrate, and thus will be out of reach for your kuhli's excavations.
You may want to put a layer of laterite at the very bottom of whatever substrate you choose for an extra iron boost. Plants with larger root systems tend to need extra iron; it's one of the more common deficiencies I see in sword plants, for instance.
Since they dig so much, your loaches do need a soft substrate. Perhaps the best technique would be to use a 1" or so layer of something clay-based (aquasoil, flora base, fluval stratum, etc.) and cap it with a good 2-3" of sand or fine gravel (pool filter sand or fine-grade red flint gravel or something) for the kuhlis to dig in. You get the nutrient layer down at the root level where the plants need them, and enough sand that the digging probably won't upset the substrate too much or kick up a ton of dirt.
As for your question regarding hills, often a layer or two of egg crate (i.e. a plastic grid) is placed under areas where one wants to build the substrate. When pouring adjacent types of substrate, a piece of cardboard or plastic is placed as a divider guideline, substrate is poured on either side, and then the divider is removed. Eventually the two will bleed into each other, though, especially with the activities of the loaches.
You could also try planting some big specimen plants in clay pots with a nutrient-rich substrate, then burying those pots in the sand. It would make them a little harder to dig up, at least.