Stephen - what is the format of your file? For example, are all rows the same in that they have the same number of columns? If so, what is the format for each row - all numeric, mixture of alphabetic and numeric, etc.?
Part of your code (that which uses fscanf) seems to imply that your data is just a single column of 8*12 elements, one elevation value per month per year. If that is the case, then you could simply use importdata to get the data from file as
elevationData = importdata('lake_powell.txt');
The 2003 data would start at index 12*(4-1)+1 and run through to 12*(5-1), and the 2004 data would start at index 12*(5-1)+1 and run through to 12*(6-1)
elevationData2003 = elevationData(12*3+1:12*4);
elevationData2004 = elevationData(12*4+1:12*5);
The indexing is clear if you think about how each year works: 1-12 for 2000, 13-24 for 2001, 25-36 for 2002, 37-48 for 2003, 49-60 for 2004, etc.
You can then print out the data as
printmat([elevationData2003 elevationData2004], 'Lake Powell Water Levels (in feet)', ...
'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec', '2003 2004');
printmat seems to be a function that doesn't exist with more recent versions of MATLAB. If you have a newer version, then consider using the table functionality.
It may be that your version of MATLAB doesn't support importdata. Is that why you wanted to use textread? Which version of MATLAB do you have?
You should be able to take the same code above and just replace importdata with textread.