Not sure, but I think the local data filter is going to be similar to a linked subset; the filtered table depends on the table remaining open. 1e3 rows * 1e5 cols * 8 bytes/number is under 1GB and should fit in 16GB+ memory OK. Linked subsets should not significantly increase the memory required.
You can try the summary platform interactively to get a summary table of the grade column. You can get the script from that.
You can script the subset platform in much the same way. You'd write a loop to choose the cols for the subset.
I think it is unlikely anyone knows the answer to the last question without trying both. I think either might be fast enough.
Craige