Is there any way to save background images in the .blend file?
The most convenient way  


  File -> External Data -> Pack into .blend


In the report area it will say 'n files packed' Where n is the amount of images currently in the image list. Now hitting save will include those images in the .blend.
The problem you might have with this method is that it will auto-pack any subsequent images you add.

Alternatively (one by one, gives more control)
You do them individually, go to the UV image editor. For each image you want to pack you select the image so it shows in the view, then


  Image > Pack Image  


Again you have to save the .blend file before exiting.

Further reading
Obligitory Blender Wiki link: Pack and Unpack Data, it's an interesting read.