I'll assume it is your intent to compare the mean DV across four grades, or to compare the first 3 means (freshman, sophomore, junior) to the fourth (senior).
Grade is categorical. Although it is true that ANOVA is equivalent to regression on a set of dummy variables, I don't think random slopes for dummy variables make any sense.
If you want to compare estimates of mean DV by grade across software packages, it does not matter how grade is coded; any coding system will give you the same means. If you want to compare parameter estimates, then you will need to use similar coding systems. By default, the MIXED procedure uses the last level as the reference level, but you can control that using the REF= option on the CLASS statement.
Assuming that multiple observations (students?) for each level of grade within the same inst_ID are subsamples and are not independent, I suggest this code:
proc mixed data= MLM_grade method = ml covtest ;
class inst_ID grade;
model dv = grade / solution;
random inst_id inst_id*grade / solution;
/* pair-wise comparisons among grades */
lsmeans grade / pdiff adjust=simulate(seed=123) ;
/* comparison of each grade to control */
lsmeans grade / adjust=dunnett pdiff=control('4');
run;
An equivalent syntax for the RANDOM statement is
random intercept grade / subject=inst_id solution;
Either RANDOM statement produces an estimate of variance among inst_id, an estimate of variance among groups of students assigned to the same grade within inst_id, and and estimate of variance among students within groups (residual).
This model assumes that data are missing at random, but in fact you are missing appreciably more data on freshman and sophomore grade levels than on junior and senior. The number of students is extremely unbalanced within each inst_id and within groups within inst_id. These issues may make this model inappropriate.
... View more