With today's larger screens, 640 px on the longest is becoming a minimum. I have recently gone up to 800 with panos to 1000 (new computer). When posting to the web, it's the pixels that count, not the number of inches that your editing software says.
At 800 px, depending on the detail the shot can be anywhere from 100-400 K at 80%. Some shots lend themselves to decent viewing down to 60%. It's something you need to experiment with. In PS you can see the original and compressed versions side by side when you save for the web that makes the compression amount something that can be eyeballed easily.
If you are seeing artifacts at 80%, it may be that you have sharpened too aggressively. It is better to sharpen multiple times in your work flow than all at once at the end.
Check out the Workflow guidelines at the top of this page.... Fred also has some actions and plugins to help in resizing -- up and down.
Setting the 'DPI' to anything is irrelevant for web presentation, as the output size is dependent completely upon the native resolution of the monitor. The only thing that matters is the number of pixels.
For the OP, if you are seeing an image 640 pix (at 100 kb) in the long dimension that has artifacts, either the image has a tremendous amount of detail, or it was reduced or sharpened poorly. I usually find that for such a small image, 100-150 kb looks pretty good (image with 'typical' amount of detail), but if there is lots of detail, 150-200 kb is better. For images at 800 pixels, closer to 200 kb seems to work best (size vs. quality).
Contrary to popular wisdom (especially for images with lots of detail), I prefer to sharpen first, then reduce using regular old 'Bicubic', not 'Bicubic Sharper' as is typically suggested. After reduction, a very slight sharpening (75% / 0.3 / 0) is in order to clean it up.
Lots of possibilities, so without showing us examples of your output, we're kind of guessing as to your actual problem. Also, keep in mind that PS's 'Save For Web' function further strips the file of unnecessary data that is unneeded for the web, unless of course you are interested in preserving EXIF and useless ICC profile information (the latter of which is unnecessary as long as you've saved as sRGB).