Having the ability to change our stance would be the final change which would let this game becoming a great diplomacy game.
But... the AI already do that based on our action, the AI doesn't "choose" stance. Its based on trust, as far as I know, and trust is based on preivous actions. Giving the ability to the player to change his stance would be unfair for the AI. This could perhaps become a "range" of sort which would let the AI pick its prefered stance between two (one higher and one lower), so that you (and the AI) could at least choose if you are friendly (offensive alliance) or cordial (defensive alliance). It could be a bit like the rival system in which you choose between different rivals based on predetermined values, but you would instead choose for each country your stance, limited by predetermined values (which would mean it would be possible for you to have to be officially friendly).
Such a system could be interesting in that it would really introduce defensive alliances in the game. The AI would know that, even if you have a good relation with them, you don't trust them enough to back them in an offensive war, so they would not ask you to join them in order to not lose the alliance. They could also ask you to join anyway if they just want to break the alliance and have a CB... This is what we are (I am) doing since we can check our allies or not in the war declaration screen, at least...