I don't know for sure, but I'd guess performance reasons.
It would take an additional read from the drive to get the titleid, but using the path that is already in memory, we have a reasonably unique identifier for the cache id
It would take an additional read from the drive to get the titleid, but using the path that is already in memory, we have a reasonably unique identifier for the cache id