usb host functionality
Is not what you need. As USB host, you can rather access other USB devices ( like USB sticks or other Arduinos ).
First, you'd need to write / get a different Arduino driver for your PC. The existing one makes it behave like a serial COM port, not an external disk.
Then, you'd have to reprogram the Atmega16U2 as well, I fear, and have dedicated code on your Atmega 328 to address an SD card shield .
With that, you can't use the Arduino as an Arduino any more.
So the answer is No, IMO.
It were a rather expensive SD card reader.
And the advantage of SD cards is that you can easily get them in and out and move them around.