Danny,
I got a break for a few minutes. Maybe I could interest you in some generalizations and mental models?
My idea regarding utilizing different frequencies is something akin to tuning into two or more radio stations simultaneously. Some techniques used for packet radio also come to mind. Some of these ideas are perhaps complicated given the present exercise, but on a longer term perspective they may prove helpful. My own efforts relate to homemade robotic telescopes for amateur astronomy, so there could be a lot of overlap with your longer term goals. I am having a lot of trouble with my website, and plan to move it, but here it is (for now)....
formatting link
Some of my thinking comes from concepts like ring tone generators that have vast numbers of combinations. Every time you dial a telephone number (hopefully) you reach only one telephone, even though there are many millions (billions) of telephones out there.
Regarding your parallel port, I have always viewed the data stream from this device as something much more than just sets of 8 bits. My motor example demonstrates different frequencies on different pins. Indeed, the motors end up turning at different speeds and also in different directions. This port operates at 8 MHz. These motors will not respond (directly) to such high frequency, and even if it could be done, it does not appear for now that you are trying to get your LEDs to turn on and off in the MHz frequency. You can in principle generate a series of frequencies essentially the same as a set of dial tones. Indeed, actual dial tones, such as on your telephone, are only in the low KHz range. All of them (and more) could be generated from a single pin on your parallel port, and we have not even gotten into subharmonics, which could also be employed. A typical telephone has 12 tones (if you include asterisk and pound). Using only these, you have now escaped the binary base 2 system and now have a base 12 system. You have gone from 2^8 (256) values up to 12^8 (nearly 430 million) values. I cannot imagine you are wanting EVER to control 430 million LEDs, but I hope I have made a compelling argument to at least consider frequency as a parameter to extract the maximum number of outputs from a single 8 bit TTL port, especially, the parallel port which should have a fixed 8 MHz frequency. And yes, I have used such strategies with success. Right now, this is about you and your goal, Danny. My sad story some other time.
Back to the laboratory, I go....
:)
Dominic