I didn't have a lot of time the past few days, but like you asked me to i'm going to post my thoughts about this, so here it goes

. I'm going to state the obvious here and there but please bare with me.
Just to be clear next to the level of detail issue (ie which level to use) there also seems to be a discussion to add a 'nothing' level of detail in order to improve on performance and in my point of view it would fit into the scope of the assignment.
LOD in Ogre
-------------
Ok let's just begin with the where's and what's.
Ogre::Entity
Keeps track of several LOD settings (updates with the _notifyCamera(cam*)) gets lod settings from mesh and _notifiyCamera from MoveableObject so thats where I looked next.
Ogre::Mesh
Also keeps track of several LOD settings, gets lod settings from .mesh file or manual input.
Ogre::MoveableObject
Generic class for moveableobjects (duh

), this is also where the rendering distance is checked and set (through setRenderingDistance). Also the _notifyCamera method is not unimportant

.
Other (ie StaticGeometry, Camera)
I've also checked some other classes like staticgeometry and camera. Things like the LODBucket and setLODBias came to mind. But I haven't looked into it that much.
Changes
-------------
Generalisation
In terms of generalisation I would say put the LOD stuff in MoveableObject. Just add a method in what you can switch between distance from camera and size on viewport (like mentioned in the topic in the request). Add an internal method which updates LOD settings to keep the _notifyCamera tidy instead of a big if-else block in there which checks LOD.
Adding 'size on screen' LOD method
This has been discussed and is kinda the point, but it is a change thats why I mention it

.
'Nothing' Level of detail
If the programmer sets the LOD method to 'size on viewport' it would be possible for ogre to determine if a certain object is to small to see and if thats true just don't render it.
Extra Notes
-------------
I still have to look into the material lod, lod bucket but I do have some more direction right now. I hope I'm on the right direction atm, I'm going to make that letter to Google today (Mayb I'll post it later on).
First I have to do some groceries

.