There is no mechanism specifically for doing this, as far as I know. Your best bet would be to add a unique string to the output directory. One way of doing this neatly would be to append the wall time to the directory name. Chaste has a
Timer class which could be used as follows:
std::string dir_name = "your/directory/name" + std::to_string(timer.GetWallTime());
(You could of course
std::lround(timer.GetWallTime()) to get an integer if you didn't want a decimal point in your directory name.)
As you say, this is often related to performing parameter sweeps when you want to run multiple simulations (see this question), where it is often easy and convenient to add an integer ID to directory names.