Depending on your study design fixed effect models may be sufficient for the imputation and you may simply leave imputation to the 'mice' package. In case of a more complicated design you may need to specify your own imputation models. Finally, if that's still insufficient to code a congenial imputation you can change the source code of the package to your needs.
The latest version of the mice package can do multilevel (2 levels) multiple imputation. You just have to specify the predictor matrix a bit differently, to tell the package which are the random effects, and there is a new imputation method (mice.impute.2L.norm). See the package vignette for further details, and also here:
This area is still under development. There are some software packages that allow 2 levels, including mice that Robert suggested. You may also check out Realcom Impute.