Frank,
You can use the MIXED procedure to test multiple correlated land cover class differences. First, set up your data as within-plot differences for the first four cover classes. (The fifth cover class is an exact linear combination of the first four, so it can be excluded from use. If you had just two cover classes, you would only use the within-plot difference of the first land cover class as your response variable.) You will need each within-plot difference as a separate result with a label indicating which land cover class the difference belongs to. That is, you want your data to be constructed as shown below:
plot CoverClass diff
1 1 diff[1,1]
1 2 diff[1,2]
1 3 diff[1,3]
1 4 diff[1,4]
2 1 diff[2,1]
2 2 diff[2,2]
2 3 diff[2,3]
2 4 diff[2,4]
... ... ...
With your data in this form, the following PROC MIXED code would be appropriate:
proc mixed data=mydata;
class plot CoverClass;
model diff = CoverClass / s noint;
repeated CoverClass / subject=plot type=un;
run;