The rationale for a species code list is to bring uniformity to the growth model interface. The reason for integers is that they transport better among platforms (C/C++, VB, FORTRAN, UNIX, LINUX, Windows, etc.). On the client end (your front-end to the model) you could use alpha species codes -- you would just need to write a translation routine to map the alphas to integers.
One problem I encountered with the genus/species system is that sometimes the four letter codes are not unique. The USFS used an extension of the system that allowed more characters when non-unique combinations arose.