a) There is a difference between "grainy" and the pixel dimensions of each image within your pdf file. "Grainy" is like noise or film grain. It is not the same as pixellated (ie, seeing each and every little pixel, seeing stair-steps instead of straight lines, etc.). When someone describes an image as "grainy", I think of lighting, photography and post-processing problems. Problems that produce a grainy image have essentially no effect on file size.
In contrast, sending images whose pixel dimensions are larger than needed is almost always what causes problems such as you are experiencing.
You should reduce the pixel dimensions of all of your images in the package to the minimum size needed for your particular catalog. For example, one can almost always get away with images no larger than 600 pixels in the longest dimension for catalog photos up to 3 inches on a side. If your images are bigger than this for small photos, you are just wasting space and causing yourself problems.
b) If you have a lot of half, full and double page spreads, you are stuck with large pixel dimensions and hence large files. In this case, I would suggest you use the feature of many ZIP'ing programs to break down large files into smaller chunks (of specified max size) so that they can be emailed.
HTH,
Tom M