The only way you have to do what you want is to create some sort of unit of code that is shared across all your other tests and test cases where you read the excel sheet and basically rebuild, from scratch, on your own, the equivalent of NameMapping. That's basically what you're trying to do... have all the object identification factors preloaded in your test project.
Based upon what you're trying to do, it seems you're trying to basically replicate what happens in Selenium... you're using TestComplete now and there is no need to do XPath identification in code. Map your objects with NameMapping and the object repository is immediately available.
The reason why things are running slow is not necessarily because of reading the Excel... it has EVERYTHING to do with the fact that, for every object, you're doing a scan of the HTML document tree for the XPath... a long process to begin with. Using NameMapping that scan doesn't happen and the object identification is MUCH faster. I'd suggest you look into re-designing your framework to use NameMapping/Aliases instead.