Creating a "filtered" UI field I'm trying to figure out how to create a filtered field like the ones found in the modifier and constraints panels that only allow you to select from a list of Armatures in the scene. Couldn't find where this type of property is defined for the existing UI panels.
For anyone having the same issue, it's as simple as using prop_search() instead of prop() in the draw code.

Example:

row.prop_search(bpy.context.scene, "your_string_prop", bpy.data, "armatures")


to create a filtered field for the armatures in your current scene.