Hmmm. A feature should work...right? What if I created a "duplicate" of the Oasis feature, just with different art (so it would look like a cenote on the map, not an oasis)?
We can't add custom artwork for anything other than units at the current time. The terrain graphics files are broken; not only do the files not seem to load into VFS correctly, but any attempt to use the ReloadLandmarkSystem flag to enable this sort of modification leads to frequent crashes. (And I mean the reboot-your-computer sort of hard crashes, not any namby-pamby crash-to-desktop sort of thing.)
Is it possible to make features only appear after a certain tech? That way cenotes wouldn't be visible from the start of the game?
I don't think so. Look in the Features table; if there's not an explicit TechPrereq or TechReveal type of field there (and I don't think there is) then no, you can't do that.
What you COULD do, though, is create the cenotes as a new Resource. Those, of course, CAN reveal at a given technology (given that all strategics work that way). So if you created a new Resource, and classified it as a "bonus" resource (like fish, cows, etc.), then you could create a building in a city that simply required an improved local copy of that resource. The Lua could then check for the presence of that building. (Or, skip the middleman and check for the presence of the improvement on the resource directly, but that'd require adding a new improvement type and would be more of a pain to link it to a city.)
You can take this a step further, doing what I do in my own mod for Terraforming, specifically what I do when planting a forest or jungle:
> Your cenotes resource pops up at a certain tech.
> You place improvement A on the tile. (This must be a NEW improvement type.) The improvement in question can also unlock at a certain tech, but there's really no reason to worry about that if you're only going to use it for this one thing.
> Each turn, the game scans to see if anyone has an improvement A in their territory. This is a very easy check, taking almost no processing time, because there's a Lua function for "how many improvements of type A does player B have in his territory?"
> If so, it scans that player's territory for improvement A. If it finds it, it removes the resource, removes improvement A, and adds an Oasis-like feature to that hex. (And yes, this WOULD update graphically.) Since that improvement only exists for a single turn, there's little overhead involved; it'd only do a full map scan on turns you completed developing the cenote. And since no one can clear an Oasis, there's no danger of the AI getting stuck in a loop or anything.
The unfortunate downside of the resource method is that you'd have to add a new resource to the game. And that means editing AssignStartingPlots.lua, one of the least user-friendly files in the entire game. (It'd also make your mod incompatible with any other mod that adds or edits resources, like my own.)