If the question is that you want to differentiate your processes not by their TestComplete ids, you need to find another way to distinguish them. For example, if the processes have some differences in their command line (e.g. parameters), you can get a process by its command line (c:\MyAppFolder\MyApp.exe -firstAppParameter):
var firstApp = Sys.FindChild("CommandLine", "*-firstAppParameter*");
If you are using Name Mapping, you can add the CommandLine parameter to the process mapping scheme and use the same approach with wildcards.