For this, almost any diode will work. Searching, it turns out that the 1N4148 is a popular ubiquitous choice. But don't go out of your way to obtain this particular diode.
Maximum rated forward current has to be higher than whatever current a
single pin of the 74HC595 produces.
You should turn your thinking around. Consider the nominal high voltage of the 74HC595, subtract the forward bias diode voltage drop (usually 0.7V for a silicon diode) and divide that by the resistor you pick. That will be the current passing out of the 74HC595, through the diode and resistor. Only a small amount of current will pass into the Arduino. It should be negligible for most applications. You should pick a resistor high enough to only allow milliamps of current to pass through this circuit.
The V_F forward voltage drop has to be as low as possible to make sure
that a HIGH from the shift register has still a voltage high enough to
result in a HIGH at the Arduino pin after passing through the diode.
Check the voltage margin allow for a logical high input to the Arduino (Atmel processor). I think 3V - 0.7V = 2.3V is still considered a logical high. However, if you think this is too close, then switch to the 5 volt Arduino where the 0.7 volt drop will make less difference.
Switching time has to be low enough to match the shift register's
I doubt this will be a problem. That is, I doubt the CMOS logic will surpass the speed at which the diode can turn on / off.