I also have a late 2009 iMac running 10.11.2, and like you, I am suffering the Internal Card Reader issue.
What I have seen so far is that whenever I reboot, I can see the SD card when I insert it and I can play with it, eject it, remount it without any issues.
When I put the iMac to sleep and it wakes up spontaneously for the "Alert wakeup" that happens every two hours, I get the following message
Jan 5 14:14:16 Lucas-iMac kernel[0]: 002356.802602 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 100 ms
Jan 5 14:14:16 Lucas-iMac kernel[0]: com_apple_driver_AppleUSBCardReaderUMC:: Stop::Controller Reset
Jan 5 14:14:17 Lucas-iMac kernel[0]: 002357.612932 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 200 ms
Jan 5 14:14:18 Lucas-iMac kernel[0]: 002358.622154 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 400 ms
Jan 5 14:14:19 Lucas-iMac kernel[0]: 002360.031431 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 800 ms
Jan 5 14:14:22 Lucas-iMac kernel[0]: 002362.238651 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 1600 ms
Jan 5 14:14:25 Lucas-iMac kernel[0]: 002366.049015 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 3200 ms
Jan 5 14:14:32 Lucas-iMac kernel[0]: 002373.060316 PRT5@26500000: AppleUSBHostPort::resetGated: retrying enumeration in 6400 ms
Jan 5 14:14:46 Lucas-iMac kernel[0]: 002386.473756 PRT5@26500000: AppleUSBHostPort::resetGated: unrecoverable enumeration failure after 8 attempts
I just get it once, but that is enough.
So it looks like that all of a sudden the USB Card Reader Driver decides to stop the controller and from that moment on, there is no way to see it anymore.
By playing a bit with USB Prober, I see the following difference when the Card Reader is visible

and when it is not: as you see, the PRT5@26500000 is empty
EHC2@6,1 <class IOPCIDevice>
EHC2@26000000 <class AppleUSBEHCIPCI>
PRT1@26100000 <class AppleUSBEHCIPort>
PRT2@26200000 <class AppleUSBEHCIPort>
PRT4@26400000 <class AppleUSBEHCIPort>
PRT5@26500000 <class AppleUSBEHCIPort>
Moreover, I see that there is a special Kext associated to the internal card reader when it is working

and it is missing whenever it is not working. Also, other kext are missing as you can see here below, as actually the list is shorter
com.apple.driver.usb.AppleUSBHostCompositeDevice 1.0.1 32 KB 32 KB 0xffffff7f81979000
com.apple.iokit.IOUSBHIDDriver 900.4.1 40 KB 40 KB 0xffffff7f81999000
com.apple.driver.AppleUSBHostMergeProperties 1.0.1 16 KB 16 KB 0xffffff7f81635000
com.apple.driver.AppleUSBCardReader 3.7.1 44 KB 44 KB 0xffffff7f82c6b000
com.apple.driver.usb.AppleUSBOHCIPCI 1.0.1 20 KB 20 KB 0xffffff7f8193e000
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.4.3f4 44 KB 44 KB 0xffffff7f81dde000
com.apple.driver.usb.AppleUSBOHCI 1.0.1 120 KB 120 KB 0xffffff7f8191d000
com.apple.driver.usb.AppleUSBHub 1.0.1 180 KB 180 KB 0xffffff7f81945000
com.apple.driver.usb.AppleUSBEHCI 1.0.1 252 KB 252 KB 0xffffff7f818b2000
com.apple.iokit.IOUSBMassStorageDriver 1.0.0 180 KB 180 KB 0xffffff7f82c3e000
com.apple.iokit.IOUSBFamily 900.4.1 608 KB 608 KB 0xffffff7f816df000
com.apple.driver.usb.AppleUSBEHCIPCI 1.0.1 32 KB 32 KB 0xffffff7f81981000
com.apple.iokit.IOBluetoothHostControllerUSBTransport 4.4.3f4 168 KB 168 KB 0xffffff7f81db4000
com.apple.iokit.IOUSBHostFamily 1.0.1 420 KB 420 KB 0xffffff7f81639000
I am not familiar with kext but I tried to do the following
Lucas-iMac:foto luca$ sudo kextutil -t -v 3 /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCa rdReader.kext
Password:
Defaulting to kernel file '/System/Library/Kernels/kernel'
/System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCar dReader.kext appears to be loadable (not including linkage for on-disk libraries).
Reading loaded kext info from kernel.
Loading /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCa rdReader.kext.
Reading load info for 13 kexts.
Reading loaded kext info from kernel.
Adding /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCa rdReader.kext to mkext.
Created mkext for architecture x86_64 containing 3 kexts.
Loading /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCa rdReader.kext.
(kernel) Received request from user space to load kext com.apple.driver.AppleUSBCardReader.
(kernel) Loading kext com.apple.driver.AppleUSBCardReader.
(kernel) Allocated link buffer for kext com.apple.driver.AppleUSBCardReader at 0xffffff7f9c66b000 (61440 bytes).
(kernel) Kext com.apple.driver.AppleUSBCardReader executable loaded; 15 pages at 0xffffff7f82c6b000 (load tag 188).
(kernel) Kext com.apple.driver.AppleUSBCardReader has IOService subclass com_apple_driver_AppleUSBCardReaderDriverNub; enabling autounload.
(kernel) Kext com.apple.driver.AppleUSBCardReader is now started.
(kernel) Kext com.apple.driver.AppleUSBCardReader sending 10 personalities to the IOCatalogue and starting matching.
(kernel) Kext com.apple.driver.AppleUSBCardReader loaded.
Successfully loaded /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCa rdReader.kext.
/System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCar dReader.kext successfully loaded (or already loaded).
The driver got loaded, the SD card wasn't seen anyway, but after a couple of minutes the driver disappears again from USB Probe monitor, so apparently either this is not the correct way to load it or there is something else I should do or there is something wrong with it.
I also was thinking of reusing the kext of Yosemite in case they are running different versions but did not try as I may incur in kernel panic from which I do not really know how to come out...
I tried to reload the other missing kext as well
I hope this is a valid starting point for someone else who is more experienced than I am with kernel and kext. Maybe there is a process somewhere which could be run to have the com_apple_driver_AppleUSBCardReaderUMC start again ?
Cheers
Luca