2) Not sure if this is a bug or not; I was unable to Declare War on the AI. I had recently paid tribute to the AI to stop him attacking me. Does this stop the AI declaring war for a certain period? If so I assume this should be one-way, i.e. it should still be possible for the player who paid the tribute to declare war on the player they paid the tribute to. Otherwise how can we build up sneak attacks on our oppressors?
There is a 30-turn no-declaration-of-war constraint included in the Tribute Treaty. My advice if you want to build up sneak attacks on your oppressors is to use that time to build up an army and then declare war as soon as the tribute expires.
If you want, you could change the duration of the tribute treaty in Treaties.xml, but I don't see any way in the XML to disable the ban on war declarations. Note that changing the duration affects both the amount of time that the faction is paying tribute and the duration of the war prohibition. There doesn't seem to be any way to separate the two durations in the XML.
Thus, if you intend to go to war with an AI faction at some point within the next 30 turns, you should neither offer tribute nor accept offers of tribute from that faction. If you don't feel strong enough to refuse the tribute demands and choose to give in to the demands, then unless there is a way to cancel the treaty that I haven't noticed, you're stuck at peace with that faction until the treaty expires.