I don't believe hierarchical runsettings are supported based upon the documentation here that using a .runsettings file overrides the solution-level version. In theory you could go the environment variable route perhaps but that would be dependent upon what you're changing.
I think the better route would be to create your own "parameters" data file. In the initialization code of the test (ideally a base class all your test classes derive from) look for this file and, if found, overwrite any parameters in the context with the new values from the file.
Yet another approach, again depending upon what you're changing, is to have your test run determine which of several settings files to use. This would be most useful if you were simply changing URLs or something between environments.