Here's an idea (untested):
I think the only trick is re-populating the settings file path at undeploy time. You could save the settings file path to a text file during deployment in a CustomDeployTarget Target in your .btdfproj. On a server deploy, it's stored in
$(ENV_SETTINGS). Unfortunately, during undeploy you would need to reload $(ENV_SETTINGS) earlier in the process than the overridable Targets allow. You'd need to pass the path to the MSBuild command line or do something to reload it from
the text file before the undeploy script begins executing.
Assuming that you get $(ENV_SETTINGS) populated/re-populated, add the hosts list setting name from your spreadsheet to the PropsFromEnvSettings property (like <PropsFromEnvSettings Include="SsoAppUserGroup;SsoAppAdminGroup;HostsToRestart" />).
The HostsToRestart values in the spreadsheet would look like Host1;Host2;Host3. You'll end up with an MSBuild property named HostsToRestart containing your host name list.
Then, you'd add something like this to your .btdfproj:
<BizTalkHosts Include="$(HostsToRestart)" />
The end result is that the appropriate value is automatically plucked from the spreadsheet and used as the list of hosts to restart.
Let me know how it goes!