Selecting dates that are between the previous 12 to 9 month range
This should work:

...
WHERE 
    -- &gt;= 2016-02-01 00:00:00.000
    READDATE &gt;= DATEADD(month, DATEDIFF(month, 0, GETDATE()) - 12, 0)
    -- &lt; 2016-04-01 00:00:00.000
    READDATE &lt; DATEADD(month, DATEDIFF(month, 0, GETDATE()) - 10, 0) 
...


Please note that with dates it is usually best to compare it this way:

X &gt;= lower bound
    AND
X &lt; upper bound


This is why I change &lt;= '20160331' to &lt; '20160401'. While it works fine with your sample using what seems to be DATE types, it may give incorrect results using dates with a TIME part.