When we type characters into the search bar we should be able to filter out items in the palette and display them.
Sure. Just iterate over all of the Palette.nodes and set each Node.visible property according to whether or not it meets your criterion. Remember to wrap the whole loop in a transaction.
An example of this is in the FloorPlanner sample: Floor Planner