You may be better served to think of this as a hardware problem and not a software problem. You have eight state variables - one for each character in the sequence. If you use a 5-bit counter for each character then you can represent all of the characters [a-z], plus a null-state (zero, perhaps) to know when not to output the character.
You then need some sort of state machine to increment the counters along a set of simple rules: "increment counter 0 always. If counter 0 is at 26, then set it to 0 and increment counter 1... etc". That will drive your internal states.
Then create an output process that looks at the counters and decides which character to output in time (or no character at all if the counter hasn't incremented past zero). This process will take different amounts of time to execute if you're putting the characters out serially, so it will probably act as a trigger to advance your state machine.
No code, here, just an outline of the approach. But I think it will help you if you think about it along these lines.