I'm thinking that taking an extra set of long johns (one weight lighter than you wear during the day) would get you to the same place temperature-wise, weight-wise, and cleanliness-wise - and provide more versatility than a liner.

Personally, I never plan to "stretch" the range of my sleeping bag by relying on my clothing. I normally sleep in the clothes I've worn during the day (I usually don't end up the day too dirty.) My insulating clothing, usually worn only at breaks or in camp, consists of down pants, down booties, down mittens and hooded down jacket. This is my safety margin for sleeping, in case it gets colder than predicted. If I'm headed into 25-degree weather, I take my 20 degree bag; I don't take my 30-degree bag and plan to stretch it by wearing my clothes.

That kind of thinking saved me from a very cold night. Temperatures were never predicted to drop below 20, so I took my 20-degree bag (Western Mountaineering, so it's a conservative rating.) When the bottom fell out one night, and it went to near zero, my extra clothing kept me nice and toasty when the bag started getting chilly (which actually happened around 15 degrees, confirming the conservative rating.)