Yes, there is a straightforward answer to the question of what resolution (ppi) you should use, and from that, there is a very easy way to figure out how many pixels in each direction you need (aka, the pixel dimensions of the image).
Take the final size of the picture (ie, in the publication) and multiply it by 600 (pixels per inch). The result is the number of pixels in each direction that you need your image to be in order to be certain that it will reproduce well.
For example, suppose the size of the image in the publication is 4 inches by 6 inches. Multiply each of those numbers by 600 ppi to get 2400 pixels by 3600 pixels. A jpg image of that size will almost certainly be less than 20 MB.
BTW, you may have heard that the magic conversion number is in the 240 - 300 ppi range. My suggested factor of 600 comes from assuming that the publication is printed in large volumes at high quality (think Architectural Digest) by an offset press. These use what is called a half-tone process, and to have equivalent quality to something like a little Epson inkjet printer, you need about twice the number of pixels per inch in your starting image. More will be even better, but 600 ppi is a good number to start with. This will yield a LPI (half tone lines per inch) of about half tthe 600 number. This is for very high quality printing. You might be able to go quite a bit lower (eg, you are printing for the comics in the daily newspaper), but you can't go wrong by assuming 600 ppi.
The other number that always comes up in saving images for publication is the JPG "quality" or "compression factor". For this factor, if your target is a reasonably high quality publication, never go below a quality factor of "8". Nine, or even higher is better, but doing so could run you into the 20 MB limit that you mentioned.
HTH,
Tom M
PS - Also, note that I said "MB" not "mb". The former is megabytes, the latter is millibits. It certainly isn't the latter, LOL.