Other colleagues did underline very well the point: in Solidity does not exist something called “address with correct checksum”. There exist addresses. Full stop.
The request for a proper checksum comes from the user interface of the IDE, like remix or similar, just to ask you to double check your address. But just for this.
You can obtain your correct checksum address treating it as a string, then applying the EIP 55 rules, then converting it back to address.
But this do not make sense in a smart contract: never. And it does not make sense to record that on blockchain. It is something like using EVM and paying ethers at running time to indent properly the source code. It, if required, is to be done offline, by means of some JavaScript or C.
In other word: the CRC is a “cosmetic” element useful for the interface to the IDE, like comments in green and between /* and */.
You are asking something like “I want to format comments in solidity”.
This does not make sense. At run time do not exist anymore both indenting and comments and CRC for addresses.
I hope this can help.