No, no, there isn't an option to select between 2 and 3 years of contract.
You are correct - Standard contract is 3 years.
-The game signs the player for 3 Years when you select Sign.
-The game also signs the player for 3 Years (adds the missing years) when you extend a contract that hasn't expired yet.
But when the contract has expired, the player will be signed for 2 Years (Instead of 3). So that's the current season + the next one.
What I mean with the Quote "About point 3)" is that if you already signed the player after his contract expired, you can select the "Renew" button once more and simply pay for the 3rd Year of contract.
EDIT 1: Oh boy, sorry I should have refresh the page again. Seems others also replied in the mean time. o.O
EDIT 2: Btw, to give my own two cents - I never really payed too much attention as to the duration of contracts and how exactly the signing worked (the 2 years instead of 3 years thing... yeah). I learned it once, years ago, and knew that this feature was never changed and thought that I knew it correctly. Well jokes on me I guess.
Glad I got this sorted out, guys. Apologies for the incorrect info.