Yes! We're going to do our best to give as must agency to the player as we can. We just need to be careful not to make the game to wide. Otherwise, we would be working for weeks to add just a little bit of content for every route and the game progression would slow down.
That's really the needle that has to be threaded. Do to little, and players will feel that it won't matter what they do, the game decide for them and the story is already set. Do to much, and you risk getting bogged down in so many paths that you can't finish the game and people loose interest due to very slow updates (for each path).
Every dev who strive for player agency must make that consideration, weighing what they want to accomplish against what resources they have at their disposal.
However, I think you have some things really working for you in this regard. Namely:
- Creating a sense of agency by allowing for choises/expression based on personality traits.
- Story mainly text driven, with some 2d art.
So, why is this so good for relative "cheap" player agency?
Well, the biggest sink in time is branching paths that diverge completely from each other. For instance, a game with three completely branching paths early on will require as much effort as three visual novels without branching paths, and within each path there is still no guarantee that the player will feel agency, because just one choice in the beginning will not create a feeling of agency throughout the rest of the game even if that choice was monumental.
Diverging paths must therefore be used very carefully and, I would suggest, never fully. Ie, certain choises can at most lead to a temporary divergence, but sooner or later, the game should weave itself back to the main story.
How ever, letting the player play the MC differently through speach and actions that only affect a small sub set of the main story, is a lot easier to do. And will still probably be experienced as more agency by most than the monumental diverging path choices that you only get to do once or twice.
And as most story telling in your game, including the sex, is in text form, it's a lot easier to take into account the different play styles. So, for instances, say that you have a sex scene made up of descriptive text and two 2d pictures. As long as these pictures are done in the right way, the text going with the sex scene can change from romanticly sweet love making to rough and dominant fucking. Thereby you can, with the same investment for artwork, give two scenes that will feel very differently and, more importantly, will feel as if they are responding to how the player has played Catherine. If the player has chosen the bubbly, kind and romantic actions/answers to get to the sexscene, the player gets the romantic description. If the player has chosen the arrogant, aggressive and dominating actions/answers to get to the sexscene, the player gets the rough-fuck description. Both players will feel that the game responds to their way of playing Catherine, without a huge investment from your part.
That said, I still think there should that actions should be able to lead to completely different outcomes. For instance, in order to have sex with character A, Catherine needs to be sweet, but in order to have sex with character B, Catherine needs to be an asshole. But there doesn't need to be a ton of that, if what I'm decscribing above is done well (and I'm also not suggesting that there should only be a differentiation between sweet/asshole, that's an simplification to make my explanation less of a gotdamn novel than it already is...).
So, what I'm saying, is that I think the way you set up your game probably will give you a good opportunity to create a great feeling of player agency without having to sink in a ton of resources in the game or make it so that a player playing through the game just once (which I think is what you can expect from the majority of players) will miss a ton of content due to branching paths and so on.