Two easy things to do are
1) use FIRSTOBS= and OBS= to split up the data using TAGSETS.EXCELXP to create the multiple sheets (you could even "macroize" whether the data needed to be split up or not, but the program below shows a simple example, not a macroized one).
2) use BY group processing to break the data into logical groups -- TAGSETS.EXCELXP will put every group into a separate sheet, by default. (of course, this assumes that no single by group is larger than the 65K limit)
**1) use FIRSTOBS= and OBS=;
ods tagsets.excelxp file='c:\temp\split_file.xls';
I don't know the exact answer to that. According to this site: http://office.microsoft.com/en-us/access/HA100307391033.aspx
the limit for Microsoft Access tables is based on overall file size, not number of rows. (no more than 255 fields in the table with an overall file size of 2 gigabytes, minus the space needed for system objects).
You may want to run a test or double check with Tech Support on this one.