You know what, after mulling it over for a night, fuck it, I think it would be possible to introduce a system that can work mechanically similar to genetics.
You'd need to write an entire genome, with sections corresponding to 'proteins' that would then, in varying levels, lead to morphological and even perhaps behavioral differences. From that point, the mutation mechanic could be based on the ones we observe- point mutations that fuck up what amino acids are strung together, additions and subtractions that affect ribosomal reading frame, etc.
Due to the uselessness of a lot of DNA, it's estimated humans only have ~20K active genes, which is an insanely small amount. Less complex organisms have even fewer, so starting with an amoeba it might not be impossible to model an evolving cell given a resource-based environment with a degree of variant complexity and change over time to represent selection pressures.
It's impossible to model how proteins work on any mass level, similarly you can't really model exactly the factors that lead to energy or oxygen use, but you certainly can generalize it, and even fairly accurately using live data, and trends for efficiency of the mitochondria. What this AI system would allow, however, is a code base (the DNA system) that can evolve incidentally, instead of along a set number of paths.
The limiting step, then, becomes that while there's a set code of DNA -> Amino acid -> Protein, both presumably in the program and in the real world, one would have to code the purpose of every protein, which defeats the point. You could probably do a steric model, but without defining all of the intricacies of a cell, it'd be pointless.
Proteins would have to be iterative, and have a function that is related only to the sequence of amino acids, and then given incidental use that affects fitness. I'm not sure how that would be done at this point though.