You can have as many resource files as you want; MSVS supports that. They still all have to have unique IDs, however, so you may just want to put them all in one file anyway.
You switch between resource sets at runtime by checking your condition, then loading the appropriate resource. You can use FindResource / LoadResource or LoadString if you're only switching strings.
One strategy might be to have a resource base which is added to all resource load requests and which is initially zero. If your condition is met, you could change that base to 10,000 or something. Then in your resource file the normal string, for example, would be 0, but the string in the case the condition is met is 10,000. The normal image would 25, but in the case where the condition is met it would be 10,025. There are probably better strategies, but that's what I came up with pre-coffee.