A neat trick I use to figure out what apps belong to what packages is to run realpath $(which $app_name)
- this outputs the full, canonicalized path to the store item, which should include the package name.
I would do a search (e.g. using grep) through a local copy of the Guix repository to figure out what services are providing the packages, then modify the service configurations (or use modified versions of services, if needed) to remove them. This might be a tedious solution, though.
You might be interested in git-annex (see the Bob use case).
It has file tracking so you can - for example - "ask" a repository at drive A where some file is, and git-annex can tell you it's on drives C and D.
git-annex can also enforce rules like: "always have at least 3 copies of file X, and any drive will do"; "have one copy of every file at the drives in my house, and have another at the drives in my parents' house"; or "if a file is really big, don't store it on certain drives".