The idea of a metaphor in Extreme Programming is to develop a common vision of how the program works. At its best, a metaphor is a simple evocative description of how the program works.
From Agile Business Coach:
Metaphors are a powerful teaching
tools. They are used in a large number
of fields. The aim of a metaphor is to
create a bridge of understanding : The
person trying to explain a new idea or
concept attempts to find a common
frame of reference between themselves
and the person they are explaining the
idea to. They then explain the new
idea using the common frame of
reference
Now on to your questions.
So how do I identify a metaphor for
the System under development?
A good metaphor can quickly provide enough information to understand at a high level the domain and functioning of a system. As example we can say "this program works like a hive of bees, going out for pollen and bringing it back to the hive" as a description for an agent-based information retrieval system. So you should strive for analogies with real world situations as they are more likely to be understood more quickly and everyone can get in the same pace regarding the system functionality.
How do I know its a good one? What
makes a good metaphor good?
The idea is to use a common system of names or analogies to be sure that everyone understands how the system works and where to look to find the functionality you're looking for, or to find the right place to put the functionality you're about to add. A metaphor is more good as more users in presence of a metaphor get an immediate glimpse and understanding of the system.
What does it enable?
It enables rapid minimum global understanding of the system purpose and functioning based on common terminology that everyone can understand more easily.
How do I get good at metaphor
finding... or better than I am
currently?
With practice and continuous improvements. Make sure that every iteration is shown to a significant mass of persons to assess the efficiency of the metaphor. Along the way you will learn much and get to quickly write good metaphors. I consider it a living exercise almost because the persons with more living experiences can provide more meaningful metaphors without even realizing they are doing so.
See here for a detailed article on XP that also covers metaphors.