Why do you want to set different paths? What do you gain from it? What problem do you want to solve?
From legacy installer, you were never allowed to set your own BPLs or DCUs. I'm not sure why you think now this is a problem.
The BPLs were placed hardcoded in the default Delphi BPL output folder (which imho causes a problem with old BPLs hanging around in shared folders).
The DCUs were placed hardcoded as well, you were never allowed to modify then. I'm not sure why this is a problem now. With Smart Setup you actually have a flexibility as you have the option to define DCU mega folder for all or a subset of products. So this is added flexibility compared to previous option: Configuration | TMS Smart Setup documentation
Regarding source code, you can absolutely choose the root workspace folder where you are going to download/install your components. You can choose E:\Here folder and have everything installed there.
When Smart Setup downloads and unzips the product files, it unzips then under E:\Here\Products so it knows where to find products, what is installed, and how to handle dependencies between then.
Hey, we are developpers we don't need to get baby-sitted for this !!
If you want full flexibility, sure! You can simply ask Smart Setup to download the packages for you, for example:
tms fetch tms.vcl.uipack
That will just download the files for you. Now you can just copy the files wherever you want, you can have UI Pack in E:\Foo\UIPack, then have FNC Pack in S:\hooray\bar\FNCPack, and do all the building, installation, configuration yourself manually as a developer. Smart Setup won't babysit you and will not do anything automatically for you, you are on your own as a developer.
I'm still not sure exactly if you want easiness or flexibility, as it looks conflicting to me, but you have both at both extremes.