Is there any way to set the default font to 16pts in iTerm2?

You can also add custom values for font sizes. From the Font window, click the gear in the upper left, and choose "Edit Sizes".

box with gear

Then, enter your value.

size edit field

You can click on the number below the 'Size' column and write any value.

enter image description here

I haven't tested this, but a brief review of iTerm's source code suggests your font preferences are stored in a property list named DefaultBookmark.plist, under the keys Normal Font and Non Ascii Font. The default values both being Monaco 12, if you were to change it to Consolas 16 or Source Code Pro 16 it should do what you want. You should be able to find these files with the command find / -name DefaultBookmark.plist, and since the name "Default" suggests there may be other property lists, you can find them with grep -R "Normal Font" / or grep -R "Non Ascii Font" /

Please keep in mind that it seems to occasionally ignore the font size and come up with it's own as it has a class called FontSizeEstimator which has the following in its comments

Lines 11 - 12:

**  Description: Attempts to measure font metrics because the OS's metrics
**    are sometimes unreliable.

Lines 65 - 68:

size.width = advances[0];
size.width *= [aFont pointSize];
size.width /= CGFontGetUnitsPerEm(cgfont);
size.width = round(size.width);

Although it seems as if this is only used for estimating the size of the window, rather than the size of the font being rendered.