I found some information on the web as follows, but incomplete.
http://en.wikipedia.org/wiki/Input/output_base_address
http://wiki.osdev.org/I/O_Ports
<You may want to check Ralf Brown's interrupt list "RBIL".
Part D contains the information on I/O ports.
For classic (i.e. pre-1995) information on ports, the Bochs project has a very useful list of XT, AT and PS/2 port addresses. The list is fairly comprehensive, although the preamble warns the reader to "not consider this information as complete and accurate".
A good source for current (and not from 1994) I/O port map is chipset documentation, e.g. Intel® 7 Series Chipset Family PCH Datasheet (see section 9.3, I/O Map). For example, here are some ports which are commonly used in modern PCs and are not mentioned in the old lists:
Note that some I/O ranges are dynamic and can be moved by reprogramming various bits in the corresponding PCI devices configuration.