Thank you for the information! I did not realize that each facet color was driven by the value of the neighboring facets when using surf(). Since I am only interested in the 2D view of the data, it turns out pcolor() has the functionality I need. It does not interpolate by default, so the data islands surrounded by 'nan' are no longer being blanked.
I don't have the toolbox required for warp(), so I was not able to check that as a possible solution. Below is an example output for some test data with nan's randomly distributed.
x = [1:1:100]'; y = [1:1:100]'; b = rand(size(x,1), size(y,1));
b(b<.3) = nan;
figure; surf(x,y,b); view(2); title('surf');
figure; pcolor(x,y,b); title('pcolor');
