How to find group differences with irregularly measured, nested, and missing data?

Background: I have a dataset, which consists of waterlevel measurements over time at different locations. However, the locations are irregularly measured in different years. Therefore my data consists of more gaps than actual data. Additionally, some of my data is nested. That means that some of my measurements can be grouped under another measurement, while others are not.

How can I best test whether there is a difference between the waterlevels of various locations given these features of the data?

-
 Just for my learning, how is the data nested? By location (i.e. multiple water levels around a lake)? – Wayne Aug 11 '12 at 11:53

...and in Stata too! (xtmixed, xtlogit, xtpoisson...) – andrea Apr 12 '12 at 12:04
@PeterFlom: R's lme4 package is more intuitive for me, but not as flexible in regard to correlation structure. (I like lme4 a lot, but I'm just a rookie at this and don't have a firm grasp on the correlation part: just parroting what "they" say.) – Wayne Aug 11 '12 at 11:57