The approach I would like to use is to use a mask for transparency. This is a bit more complicated for pcolor, because it does not allow you to set properties directly when creating a chart, but you can grab a handle and do it this way.
, hold on, pcolor , "plot" , .
Lon = (-179:1:180)'; %
Lat = -90:1:90;
data = randn(length(Lon),length(Lat));
mask = randi(2,size(data))-1;
point_matrix = randi(4,size(data)-1)==4;
[r c]=find(point_matrix==1); %
figure;
hold on;
h=pcolor(repmat(Lon ,1,length(Lat)),repmat(Lat,length(Lon),1),data);
set(h,'alphadata',mask,'facealpha','flat','edgecolor','none');
plot(r-179.5,c-89.5,'.k')