In this case, the following would be correct:
a 10-year-old girl
or
a girl 10 years old
but not
a 10 years old girl
or
a 10-years-old girl
Note the hyphens. I'm not sure if they're mandatory, but to me, "10-year-old girl" looks better than "10 year old girl".
This isn't really any logical extension of other rules; it's a special construct in English when we apply a measure as an adjective. Similarly, the following are also correct:
26-mile race (a race 26 miles long)
six-foot-high
fence (a fence 6 ft high)
18-minute gap (a gap of 18 minutes)
As for gifts - sorry, no help here. All my ideas are things
I think are cool. It's a lot of work to think of stuff for other people.
[ December 13, 2003: Message edited by: Jim Yingst ]