I just realized that my proposal is unworkable. If we allow strings containing store paths to be split into pieces, then some of those pieces may contain as little as one character of the hash. For example, the grafter might find "/store/c", which is likely not enough to determine which of the transitive inputs is being referenced, and therefore the grafter cannot decide what to write in place of the "c".
Sorry for the noise. Mark