There is an easy to get the highest possible quality and email-size from the same photo: Make two files. That is what all the pros do. Actually, they probably create more. There is no reason why one file would have to the ideal for all uses. Actually, that is impossible.
Lets say you shoot with a Nikon D3100 and you got a 7.1 MB file. This is the largest and highest quality JPEG I have produced from the D3100. This is your high quality version. This is the one you print from. To send it to a print shot there are tons of ways to do it: FTP (Most high-end print shop accept FTP), Optical Disk (I use a Rewritable disk which I keep bringing with new images), USB key, file sharing service (DropBox and the like), etc.
On some email platforms, you can even email this (up to 10MB is common now) directly but your friends might not want to wait that long to see your shot. It's too big for their screen anyways. When you want to share you create a lower-resolution version which is still high quality. Adobe Lightroom calls the Export and you can set the resolution, quality and even file size. It can do it in batch too which is great. Photoshop has Save For Web where you can also control the size and quality with a preview of what it looks like. You can also use command line tools like nconvert.