Can I use the API to select an edge or face by length / area?
Using the bmesh module

This is quite simple with the bmesh module.  Test script selects all faces with area > 10 and all edges with lengths > 10.  Remember these are local coordinates.

import bpy
import bmesh
context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)

# select faces with area &gt; 10

for f in bm.faces:
    f.select = f.calc_area() &gt; 10

# edges length &gt; 10

for e in bm.edges:
    e.select = e.calc_length() &gt; 10