My suggestion is to dabble in combining SMILES representations of the reactants and products and a stoichiometric matrix in a consistent fashion and then using a hashing function (Now that I think of it, I guess Godel numbering is an example of hashing) to assign the reaction a unique identifier. You need to use a representation of the reactants and products that unambiguously describes the molecular graph (including stereochemistry) so that stereo- and/or constitutional isomers cannot give rise to the same identifiers, and so that different orderings of atoms in a string describing identical molecules do not give rise to differing identifiers.
There exist a number of reaction ontologies that can be used to categorise and describe chemical reactions. KEGG RCLASS and RPAIR is one such example which gives rise to numerical identifiers, however I'm not totally clear on how it works and it appears to be tailored to metabolomics. It is however a good example of the kind of thing people are doing.
The CMLReact format is an XML format for representing chemical reactions that may be suitable for generating short identifiers from through hashing, however being XML it has enough cruft in it that chemically insignificant changes to a CMLReact file may give rise to differing derived identifiers. Open documentation of the format is sadly not terribly forthcoming on the internet however there is an library for reading and writing CMLReact in OpenBabel.