Hmm, do any PSX emulators have built-in value search/comparison utilities? E.g., like ZSNES and SNES9x? Depending on how this game handles the data you're looking for, it might very well be an easy code to create; the problem will be finding tools that are friendly to the task.
Provided a proper tool exists, what I would do here is a process like the following:
*Choose a less advanced/starting car.
*Choose a car you expect is more advanced. Check RAM for values that have increased.
*Get back in your less advanced car. Check the previous results for values that have sinced decreased.
*Get back in your more advanced car. Weed the results again.
*Rinse and repeat until you've winnowed out your target RAM address or a small handful of possibilities. Once you've found the address the game writes car indices to, you can try changing it until you're sitting in an enemy car.
That's how I'd go about it in an SNES emulator at least. I'm not sure if there's considerations that come into play in PSX memory addressing I'm missing, other than possible lack of user-friendly cheat searching. It might even be the case that your game doesn't use high level indices for this function, so it could get way messier than what I describe above.
Anyway, this is a great way to get into modifying games, because you'll learn some useful things about RAM addressing along the way. Pretty soon after that you can get into debugging and tracing!