My advice:
- decide in advance if you want underground trees, above ground trees, or both.
- put levers tied to floodgates on ALL WATER SOURCES.
- PAVE all water pathways to prevent unexpected tree growth/blockage.
- use GRATES on all exterior water paths, as they enter your fort. This will prevent (to a degree) unwelcome visitors.
Underground trees are honestly easier, and allows you to do much more interesting things, so I'm going to describe that.
Breach the caverns. If you have more than one, breach them all, and then seal them up. You only need to breach them once to get 'spores' that will grow underground trees and shrubs everywhere in your fort where there is mud on the floor or dirt on the floor.
The top view levels of any embark can be dirt/growable. It is possible to find up to four layers (very deep soil) including Sandy Clay, Silty Clay Loam, Sandy Loam, and Sand all of which will grow all underground trees and shrubs immediately once the caverns are breached, and they are dug out.
While growing things in these topmost soil layers is easy, if you really want an artistic megaproject, this is just the beginning. Any MOVING water over soil deposits mud. If you flood an area, and the water moves over every single tile? You've got all that as places things will grow. If you've breached the caverns, shrubs and trees will immediately begin growing on newly muddied tiles, regardless of what they were before (ore, stone, whatever).
My recommendation would be to dig a "river path" just like you dig your hallways, just be aware it's going to be filled with water at some point, so you don't want your dwarves drowning in it. If you are going to put door access to it, remember to forbid the doors before you turn on the tap. Along this path, via whatever mechanism you want (flood, dfhack liquids, bucket brigade/pond) line the path of the river with muddied tiles.
Then, just prune out the trees/shrubs you don't want, and/or pave them over so nothing grows on them in whatever artistic pattern your heart desires.
As far as the river path itself, it can be as long and convoluted as you want. Just dig and channel and remember that you can make a water "drain" by engraving fortifications in any stone that is on the edge of the map. For this reason a 2x2 or 3x3 embark may be better, so you're always closer to a map edge for drainage. However, you could start with a river on the surface (in a warm/hot biome) and channel it to become your underground river/garden source. Then make it snake it's way down the Z-Levels and finally drain to a map edge however far down.
A side view of what I mean:
.,.;..... surface with river ...,.,.,..:..###
W####################
###
W####################
###
WWWWWWWWWWWWWWW##
#####################
W##
#####################
W##
###
WWWWWWWWWWWWWWW##
###
W####################
###
W####################
###
WWWWWWWWWWWWWWW##
#####################
W##
#####################
W##
###
WWWWWWWWWWWWWWW##
###
W####################
###
W####################
###
WWWWWWWWWWWWWWWWDrain
########################
That way, it continuously flows, and you can have it run in whatever pattern/flow you want in each level.
REMEMBER TO PAVE YOUR RIVER PATH BEFORE YOU TURN ON THE WATER. If you don't, trees will grow in it, and block your water flow, and flood your fort, and drown all your dwarves. Unless you want that.
Oh, and if you only want bloodthorns? Easily done. Just ensure there is NO WATER (as in zero) in your caverns for worldgen. Then you'll only have bloodthorn spores when you breach them.