Where is the value for % of Culture found for flipping a City in the xml?
If I'm reading CvPlot::doCulture right, it's not a culture threshold directly. Instead, each turn that the plurality culture is someone on a different team than the owner, there's a 10% chance (defined by REVOLT_TEST_PROB in GlobalDefines) to test for city revolt. Whether or not a city actually revolts is given by a second roll against CvCity::cultureStrength, which I believe Matt was looking at recently. Once a city has passed this second check, it'll see if the city has revolted at least (1) time before, as defined by NUM_WARNING_REVOLTS. If it has revolted that many times before it'll flip, else it'll be a regular cultural revolt.
If you want to make cities flip faster, those are probably your best handles; setting test prob to 100 would make flipping happen 10x faster, and warning revolts 0 make it ~2x faster, but you'd still have to have plurality culture for it to begin, and probability rising as your relative strength increases.
No clue about spies, but I don't see why not, unless you run out of espionage points to spend? Not entirely sure how that system works, tbh.
Edit: It looks like cultural revolt protection (from the entertainer line, etc) seems to additively reduce the chance of cultural revolt. In this way, if you have a sum of 100 cultural revolt protection across a number of units, the city will never revolt from low culture? I might be wrong on that, but if not, should probably be changed to a multiplicative comparison e.g. 100 protection -> 1/2 chance, 200 -> 1/3, etc.