I've often wondered this, but I haven't really sought an answer to it until now. Obviously, fonts do need to distinguish small "L" and capital "I" in some way and it does make sense to use letter height as a way to do so, but is there a reason why a lowercase "L" is chosen to be higher/longer than an uppercase "I"?
It just seems more logical to me that the capital letter be slightly higher.
I don't know that this is the case for all or most sans-serif or even serif (I noticed Times New Roman does the same thing), but for Calibri it definitely is. Interestingly, Arial seems to use the same height for "I" and "l".