Possibly not 20 years ago, that seems excessive to keep call logs (unless it is a bank about mortgages).
I did have an issue with health insurance when one of my kids turned 18. Laya sent a renewal notice saying the cost would be x, say €1000 and then a week later sent another saying the cost would be y, say €500. So I phoned them up, said I had got two letters and which one was it, €1000 or €500 and the guy said €500. I obviously couldn’t believe it, because I had expected it to be the €1000. So I said something to the effect of “just to confirm the cost for the 18 year old for next year is €500” and the agent said “yes”.
I know that because a few months later we had reason to download our health certificate and it said the kid was €1000. So I dug out the two original letters and on one I had written, phoned on date… agent confirms €500. So I phoned again, they said they would look into it and call me back. They did call back and a supervisor and agent was on the line and they had listened back to the original conversation and we able to confirm the quotes above. I think they refunded my husbands company the €500 as they were paying the health insurance, even though it turned out the first letter I had gotten was for the following year and the second was for the previous year, something neither I nor the first agent noticed.
I also got the impression that it was only because I had the date of the first call written down that they were able to access the correct call log and listen to it.
If you want to know what data an insurer has kept on you sent in a request under GDPR asking for all information they have and you will find out how far back their call logs go. The data a company keeps on you needs to be proportional to the reason they keep it. So a call about a mortgage taken out 20 years ago would seem acceptable whereas a call about motor insurance that you had for 1 year 20 years ago would not seem proportional.