Spent the last day or so chasing down blind alleys.
I tried to do a rework of the "stone brick" terrain texture. Basically I wanted it to not blend and dither with surrounding terrain, but just show whole blocks. I got it to work, but it kind of looked like crap. Oh, well.
I also tried to implement a function that would make a new spell create a zone of culture on the map, without a city. It worked, but the culture zone disappears after the end of the player's turn. Tried a few work around in the CvEventManager python, and only succeeded in creating either bizarre effects or no effect at all. Oh, well.
As a last ditch effort, I will try blending the temporary spell I got working with some of the "autocast" code I create for traps. I'll keep you all posted if it works!
Depending on how often you wanted this effect to be used, either of the following might work (but will need per-turn checks; though with the scale of this mod those are likely to be a lot less of an issue than in a full-scale world map game).
* Have the spell or event create an immobile unit, which autocasts the culture spell each turn. Could then use the summons' limited duration to have the effect temporary, and even limit the number of summons (say to 1 per caster, as with skeletons in FfH).
* Similar, but adding an unpillageable feature with a PyPerTurn effect.
I'm guessing you're trying to achieve some kind of sanctuary effect, so that the benefits of being inside culture (healing, strength/withdrawl a la Homeland, animal units not being allowed to enter - 'turn'ing those undead - etc etc.) can be gained in the dungeon. If you're finding that the culture you create disappears at the end of the player's turn then most of that breaks (since the healing routine, including the eligibility check, takes place at the start of your turn I believe). The unit would therefore not work well. The feature, since it won't be owned by a player (I don't think) could trigger during enemy turns as well, but you'd still probably forfeit the healing unless you can get a PyPerTurn function to trigger at the very start of the turn.
Alternatively, could the spell create a temporary city? Call it 'Sanctuary', give it the settlement building and change it to block ALL buildings, reduce all commerce and maintenance to 0 etc etc, and add another building which causes it to be razed (without adding any war weariness, should that be an issue - assuming there isn't a -100% WW on the camp palace replacement already) the next turn. Might need several buildings to extend it to multiple turns though. That should fool the bit of code which presumably checks that tiles are within a city's cultural radius and prevents culture from counting if not.
Alternatively alternatively you'd need an SDK change to that routine I guess.