Although you say "GLM", I see that you are using MIXED which is a better choice. I typically use GLIMMIX rather than MIXED because it has more nice bells and whistles, like making interaction plots from the LSMEANS statement and doing letter assignments to pairwise mean comparisons.
Does PLOTID identify the subplot?
Your Q1: I doubt there is anything wrong with DATE2 coding. When you slice the FERT*NFIX*DATE2 interaction by FERT*NFIX, you get a contrast with 8 df that tests H0: all DATE2 means equal for a particular combination of FERT and NFIX. If this contrast is significant, then there is evidence that at least one date differs from at least one other, which as you note does not help much with interpretation of a 3-way interaction.
In my opinion, pairwise comparisons are of limited use in interpretation of interaction. I prefer to build contrasts that are sensible in context, i.e., that reflect important research questions. For example, I might build a set of contrasts to compare the FERT*NFIX interactions pairwise among levels of DATE2. Is the interaction on date 1 different than the interaction on date 2, or on date 3, etc. You can control family-wise error rate among these comparisons if need be. This paper is a good resource for this coding
https://support.sas.com/resources/papers/proceedings11/351-2011.pdf
Your Q2: I'm not sure that I'm interpreting your question correctly, so you may need to elaborate.
You can do pairwise comparisons among interaction means with Type I error control, but it is not at all desirable. Say that FERT has 3 levels, NFIX has 2 levels, and DATE2 has 9 levels, hence 3x2x9 = 54 means and 1431 (!) pairwise comparisons. Tukey will control for 1431 tests, most of which are of no interest to you because they compare something like F1_N1_D1 to F3_N2_D8. So you lose a tremendous amount of (if not essentially all) power by controlling for a set of comparisons that is much too big. If for some insane reason, you wanted to do that anyway, or just see how it turns out, use
lsmeans fert*nfix*date2 / diff adjust=tukey lines;
Other thoughts:
Q: Why have you included BLOCK*FERT*DATE2 in the RANDOM statement rather than pooling it into residual error?
Q: Is compound symmetry (TYPE=CS) the best choice for covariance among 9 dates?
... View more