I can do the Arduino end of the following, I think. I wasn't sure how difficult the PC end would be, or where to start...
It seems to me that now parallel ports are not common, and "hard" to fit to a laptop(!), there would be a place for an Arduino running a trivial program.
I'll explain my idea in simple terms. There's a "frill" I would introduce, if I can find an interested party....
The Arduino, continuously connected to a host PC when being used in this application, would monitor it's serial port, watching for strings of three ASCII characters. The first character, in this simple scenario for forum discussion, would be a "d" for "display" or "r" for "report".
On receipt of a "d" string-of-three characters, the Arduino would interpret the 2nd and 3rd characters as a byte expressed in hex, and put that byte on 8 of the Arduino's i/o pins. (Those pins having been initialized as being for input as part of the Arduino's general init sequence.) You'd probably want the Arduino to then send the byte (as hex-in-Ascii (two characters) plus a checksum character) back to the host PC as a confirmation. We're going to need that "back to the host" channel for what comes next, anyway. Might has well keep things similar for the "d" scenario and the "r" scenario.
On receipt of an "r" string-of-three characters, the Arduino would ignore the 2nd and 3rd characters.... but it would read what is present on however many pins were available to dedicate to being inputs, and send the reading back to the host PC, again as hex-in-Ascii (two characters) plus a checksum character.
As I say... I'm not sure what would be best at the PC end. Maybe (for Windows) a .DLL, which could be made available as an open source entity, with the compiled DLL available to those who just want to make use of it, and the sourcecode there for others? I trust there's something like a DLL in the Linux world?
Of course, if the Arduino end is done properly, there is nothing to stop the wider community from re-inventing, and re-inventing again and again better "wheels" to work with the Arduino "USB Parallel Port Replicator".
The idea of using a DLL is to make using the whole Arduino-as-digital-I/O-over-USB a "unit" which can be "plugged into" bigger projects. I would be prepared to consider handling distributing pre-programmed Arduinos to people outside the Arduino community... on a non-exclusive basis. If anyone else thinks they would like the headaches, they are welcome to take them on!
So.. that's my idea, my "dream product".
If you think you could work something like that up, and would consider doing so, but need a reason... contact me? If this idea takes off, i.e. gets refined in a discussion here at the forum, I might consider paying someone for the development work.
... for a more thorough discussion of this idea, including the details of the "frill".