How to set the default vertex count to added geometry?
AFAIK it's already hardcoded into Blender, set as default value for each operators creating primitive objects like a circle. One way to get around this is to add new menu to access these operators, but with different default value. I made a sample code below, also downloadable here.

When this code is put to a file, opened in Blender's text area and executed, or installed as an addon (after uncommenting bl_info block), it will insert a new submenu to Add, containing some primitive operators but with different default value upon execution:



There might be simpler ways, but this is the only workaround I know.

import bpy

# bl_info = {
#     "name": "Low Vertex Count Objects",
#     "author": "",
#     "version": (1, 0),
#     "blender": (2, 63, 0),
#     "location": "View3D &gt; Add",
#     "description": "Add primitive object with low initial vertex count",
#     "warning": "",
#     "wiki_url": "",
#     "tracker_url": "",
#     "category": "Add Mesh"}

def custom_object_add(self, context):
    layout = self.layout
    layout.menu("INFO_MT_low_vertex_mesh_add", icon='PLUGIN')

class INFO_MT_low_vertex_mesh_add(bpy.types.Menu):
    bl_idname = "INFO_MT_low_vertex_mesh_add"
    bl_label = "Low Vertex Mesh"

    def draw(self, context):
        layout = self.layout

        prop = layout.operator("mesh.primitive_circle_add", icon='MESH_CIRCLE', text="Circle (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_cone_add", icon='MESH_CONE', text="Cone (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_cylinder_add", icon='MESH_CYLINDER', text="Cylinder (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_uv_sphere_add", icon='MESH_UVSPHERE', text="UV Sphere (8x4)")
        prop.segments = 8
        prop.ring_count = 4

def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_add.append(custom_object_add)

def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_add.remove(custom_object_add)

if __name__ == '__main__':
    register()