You can use nutserts or rivnuts to add bottle cage mounts to a bike frame. The mounts on many frames are added like this from the manufacturer (eg. the bottle mounts on my Anthem X are done this way).
What you want is a M5 rivnut/nutsert. For adding bottle cage mounts to my kids bike frames I used the aluminium type (steel are available as well). The aluminium version is easier to compress (rivett) into the frame if you don't own the proper rivnut/nutsert tool.

Rivnut viewed from bottom:

Process was as follows:
- take existing bottle cage and measure distance between holes as well as space required by cage and bottle;
- find appropriate space in frame where everything fits leaving enough room to get a bottle in (for kids frames you may only be able to use small <=600ml bottles);
- mark holes;
- drill pilot holes;
- drill final holes (7mm dia for these aluminium M5 nutserts);
- use a skewer with an appropriate number of spacers to thread rivnut on the end;
- insert into frame;
- close skewer to compress rivnut, open skewer, screw one turn into rivnut and repeat until rivnut is secure in frame.
Bottle cage mounts done:

Bottle cage added:

The bottle cage is a full carbon ebay cheapie.