Before I try to give you much more advice, I will probably need a better description of your data. The example you posted has a 1D waveform, not a 2D. It is easy to convert this to a waveform data type using the primitives in the waveform palette (Build Waveform). The VIs I mentioned will compensate for the peak broadening you get with FFTs, but I believe they also subtract the entire peak. You will need to reconstruct the background after the filter using linear or polynomial interpolation. I strongly urge you to read
Numerical Recipes in C on the subject. If nothing else, go to
amazon.com and browse through the section on optimal (wiener) filtering.
As for large data sets, that usually introduces complexity. Check out the tutorial
Managing Large Data Sets in LabVIEW for general hints. It does not specifically cover FFTs. How big is big? 10kBytes? 10MBytes? 10GBytes? You can pretty easily do fourier filtering in chunks. Follow the hints given in
Numerical Recipes.
Good luck and post more details of your exact data form (and example code) if you need more help.