I'm curios to know how long process substitution has been around. What shell first had it? When did it get added to other shells?
Process substitution was already there in ksh86 and the release notes mention as a difference from the 02/21/85 version is that it was now documented, so presumably it was already there earlier. When it was designed/introduced exactly, we may have to ask David Korn, but it probably doesn't matter, since it probably never got very far out of Bell labs anyway before ksh88.
99% of bash features come either from the Bourne shell, the Korn shell, csh, tcsh or zsh. It's always difficult to find out when and where things were introduced especially when considering that many features of ksh were never documented or documented long after they were introduced.
The bash hackers wiki has a list of bash features and when they were introduced: http://wiki.bash-hackers.org/scripting/bashchanges
This list does not include process substitution, so it took some further research. According to this article, which references the changelog, version 1.13.5 had working process substitution: http://www.quora.com/Which-version-of-bash-added-the-Process-Substitution-feature
The date on the changelog entry is Sun Feb 23 03:38:59 1992.
I thought process substitution was introduced in the Korn shell but as to which release (88 or 93) ... ?