If you're looking a tool like in Photoshop that you have a slider of quality and other settings and live it shows the final file size, in Gimp there's something similar. As carltonh says, click in Save as... enter a name with .jpg extension, click on 'Export' and a new dialog appears. Then, click on 'Show preview in window image' (maybe not accurate I'm using GIMP in Spanish) and a new window image pops-up and it shows you the file size. To get the lesser of the file size, click con 'Optimze', 'Progressive', 'Subsampling, the one it shows the lesser file size', and 'DCT Method Floating point'. And then move the slider in order to achieve the file size you want. Then click con 'Save defaults' and finally in 'Save'. From that moment, every time you want to save a jpeg image file, you'll have that settings, so it's just a 3 or 4 click process to each image.
But if you're looking for a specific application to do so: I don't know. I would do it with a different approach. First I would resize all the images to a slower definition on gThumb, which has a mass resize tool which works great. Then, I will open one by one in GIMP and do what I've wrote you up.
If you've minimun experience with the terminal, or if you're not afraid of it, may you try ImageMagick, which is a program to manage image in terminal. I think it should be something like resize -x 800 -y 600 -o jpg ./*, I don't know. Serch a little, because it's commonly used.