When to lube a chain?
I think it is a judgement call, but I don't think you can separate lubing from cleaning.

I will basically lube the chain every time after I've cleaned it. Mostly, cleaning will be simply wiping with a paper towel, occasionally it will be the other extreme - I take the chain and the cassette off the bike completely and bathe the lot in degreaser. But after each clean I apply lube.

To quantify, in your situation, I think if I were doing 100km muddy rides, I would clean the chain in between every ride. To lube during a ride.....well I can't see any point in doing that. You'd just be lubing dirt.

In my situation (and I'm a road rider) I will generally clean/lube every week or 10 days, or every 2-3 rides. I count this as standard maintenance, just like pumping the tyres. A "deep" clean, where I take everything off, will be maybe every 3 months or so. I use one of two lubes, depending on season/weather - a light, dry-weather lube (which would certainly be washed off in the rain) or a more sticky wet-weather lube. 

As regards your last point, if you do start to "feel" something, then probably what you'd be feeling is damage that had already been done. I view lubing as preventative, so I'll lube on a time-driven basis rather than an event-driven basis.