Linear mixed effect models: how to construct a suitable null model Lets take as an example a repeated measures design with 10 subjects that are all reading the same letter strings and pressing a button as soon as they determine whether the string is valid English word, producing reaction times (RT). I wish to determine whether word length has a significant effect on the produced RT (it should), using a linear mixed effect model. Using R and the lme4 package I construct the following model:
m = lmer(RT ~ 1 + word.length + (1 + word.length|subject), data=rt.data)

As you can see, I allow both the intercept and the slope to vary randomly across subjects, as I suspect that the effect of word length might be larger for slow readers than fast readers. 
Understanding that p-values are not trivial in these types of models, my approach is to construct a NULL model, containing only the random effects. But I'm not sure whether this should be:
m.null = lmer(RT ~ (1 + word.length|subject), data=rt.data)

or:
m.null = lmer(RT ~ (1 | subject), data=rt.data)

In the end, I wish to perform an anova between the model with word length and the NULL model like so:
anova(m, m.null)

which should give me a p-value whether the addition of word length actually makes the model fit better and thus whether word length actually influences the RT.
 A: In order to check word.length (and the inclusion of any other fixed effect for that matter) using anova, you need to fit your models using ML rather than REML. You can find an exposition of this matter in the book lme4: Mixed-effects Modeling with R here (Chapt.2). (So set REML=F)
Additionally the two m.null you are using actually have different degrees of freedom themselves and as you have correctly said, they encode certain modelling assumption. That too can be tested in the same manner as described above.
I wouldn't believe p-values all the much in the case of LME'S cause of the dispute over their correct degrees of freedom; Try to use  MCMC sampling to get some pMCMC estimates. Check Bayeen's languageR package; and specifically the function pvals.func(); it is a wrapper around lme4's mcmcsamp(). Finally be reasonable: check the variance of your random effect(s); if it happens to be scales of magnitude smaller than the residual variance, it is almost surely insignificant no matter it is significant no matter the p-values one might produce.
