Is there a maximum number of images per product? You could do a separate column for each picture if there is a maximum number. If you need to support unlimited images then you would have to use a relational table for the images.
I'd do a path like: images/[product_id]/[imagename] and just use the name the client uploads.
If you upload the full size image (I would not resize on upload unless it is over the maximum size you want to support), then you can use Image Resizer to show it as a thumbnail.
Popping up a full size version would then just be a simple lightbox and javascript to set the image to the full sized version. We don't have anything for that, but the concept is pretty simple to pull off. An fixed position layer that overlays the page and has an image in it that you set the display and img src attributes on click of the thumbnail, then a close icon you set the display to none. We could help with that in a premier support ticket, or you can probably find lightbox script samples somewhere on the web (jquery).