Thank you very much for the appreciation. The limit on the number of city improvements is something I haven't thought about much until now. Looking at the code, it might be possible to remove it. The challenge is that internally the game stores a fixed size array per city of 256 bits, one for each possible improvement, recording which improvs are physically present in a city (as opposed to being granted by a wonder). Because that array is embedded in the city object it's not possible to expand it. On the other hand, if the array is always accessed through a function, which it looks like it is, I could modify that function to store additional data elsewhere. There's again the problem of storing that data into the save file, which is probably doable but not something I've done yet. Assuming this works, it would be easier than morphing one improvement into another one depending on a technology.
Getting past the 256 improvement limit would certainly be a turning point for all modders. Since you said the array can't be expanded, my no doubt uneducated idea would be to add a second array with one array just for improvements and the other for small wonders and Wonders. However, I suppose your idea of storing the additional data elsewhere is far more feasible. I can only ask, what are the options or limitations for storing data elsewhere? Or is it something you consider solvable with reasonable effort and therefore doable in the foreseeable future?
2. I could modify the build logic to allow an improvement to be built if any of its required resources are present. Anything else that depends on the resources being present wouldn't work, though, unless I modify that too. Unfortunately there's no single point in the game logic that decides whether or not a building's resource requirement is satisfied. About turning off a bank's gold bonus when it's missing a required resource, I could try that but I'm not sure it would work. There may be ways a city could lose access to a resource that I don't know about.
It would probably be best to replace all the random checks for resources, government types, and so on across the entire code by calling one single function to handle and modify these checks more easily. However, this seems like an overly complex task at the moment, which would be good to solve, but which can wait quietly at the same time.
4. Force selling improvements once they become obsolete would be easy. This was requested before as a way of saving the AI from paying maintenance on obsolete improvs, but it turns out obsolete improvs costing maintenance was a bug that I've since fixed.
Actually, I was not referring to the forced sale of an improvement in conjunction with it becoming obsolete. Rather, I was thinking of this ability in conjunction with the previous points, where the improvement would just be forced sold and modified a bit (for example, after a certain technology is achieved, it would be forced sold, its maintenance cost would increase, and its cost to build would also increase).
5. Sadly working with the interface can be a real pain. It can be difficult to know when to create/destroy UI objects, when to draw them, and how to tie them together (e.g. attach a scroll bar to a window). There's a lot of UI code in the EXE and it's mostly an over-complicated mess. But who knows, maybe this would be easy?
As for Luxuries, even an unpleasant-looking overlay for a larger number will be better than the current situation where Luxuries in the city from 9th onwards appear in the pollution area or completely out of the screen. Of course, a similar solution to the one for too many strategic resources in the city would also be great.
6 & 7. These should be simple changes but I'd have to analyze the map generator first. It's not something I've looked into in depth yet. Can't you increase the rate at which resources appear using the editor? Is that not good enough for some reason?
I can confirm what has already been said about this. Increasing the appearance ratio of strategic resources will cause fewer bonus resources to be generated due to the maximum spot capacity for resources (this is calculated from the number of map tiles and players, all based on observation).
Another interesting thing is that it looks like the calculations for the water and land resources are done separately, because in the experiments where I deleted all other resources except bonus resources, the random generator always placed significantly more water resources than land resources.
11. I wish I knew how the AI selected targets. I've looked into that before for some other changes I wanted to make but it's not obvious. I'm sure I could figure it out with enough effort, maybe some day.
I suppose anything related to AI diplomacy will have to wait as well. It's really annoying how childishly nonsensical the decisions AI makes when making all sorts of alliances, or how easy it is to turn AIs against each other when you only have a bit of money.
Some more random thoughts about your list:
Finally, I'd like to go back to my big first point. Since you didn't write anything on it, I don't know if I made myself and my examples clear enough or if my suggestions for additional options for resources generation by buildings were silly, unfeasible or too difficult to implement. I think just having the option for a building to generate resources depending on the government, for example: a Palace generating a Democracy strategic resource in Democracy and a Republic strategic resource in Republic, would incredibly expand the government's potential uses. Similarly with the ability for a building to stop producing resource without becoming obsolete, or conversely, to start producing resource only since the invention of a certain technology.
Of course, I have no idea how big of a task any of this is or how much work is involved, so if you have higher priority tasks on your list, like optimizing late game turn lengths, address them.