The club wouldn’t want to sign him to a deal beyond that because if he flops or gets seriously injured and no one comes in for him then it’s a huge outlay with minimal returns.
Likewise, Haaland won’t want to commit such a large chunk of his career to a club he hasn’t yet played for. He (and his agent) would also want to be able to negotiate additional contracts in the future, receiving a signing fee, higher wages and/or better terms on each occasion.
No issues with signing him to a 3/4/5 year deal. 2 years before his deal expires the club would start negotiating an extension provided that it’s what all parties wanted, at which point new terms could be negotiated.
Re a buyout clause, top clubs outside of Spain don’t insert these into their contracts. Ultimately if Haaland wanted to leave then we would either have to sell him, convince him to stay or he would leave on a free transfer when his contract expired.
Whilst I understand your point re Sane and agree that it was frustrating, he didn’t want to be here and we would’ve sold him the summer prior to the one he left had he not got injured and we would’ve got a decent fee for him. It was just unfortunate that he did his ACL and the fee dropped significantly as he only had a year left on his contract and was coming back from a long-term absence. If Haaland wanted to leave at some point in the future, we wouldn’t stand in his way. Chances are we would sell him two years before his contract expired in such a scenario, like we would’ve done with Sane