I have written about the scientific evidence on teamwork for 20 years. I like your thinking. There are pretty solid answers in the research literature:
- Yes. Anything you can do to give the team more control over its work is likely to improve measurable team performance and worker satisfaction.
- Shorter objectives are more motivating, but longer goals can be more exciting. If the team wants both, set 3-5 (max.) for the year, then sub-goals to check progress. For example, a software team could set a goal to address all legacy bugs by the end of the year. A sub-goal would be to fix or delete 25% in the first quarter (or maybe only 15%, since it will take time to establish your processes for the effort).
- They can cover anything the team wants to establish or improve.
Note that the most effective objectives fit the SMART format: specific, measurable, actionable (tip: start each with a verb), realistic (a stretch, but achievable) and time-bound (the next quarter, the next year). In most situations I recommend percentage improvement goals, since perfection is rarely possible: Reduce (measure) by x% by (date). Good luck.
Addition from Comments: I'm not a software expert, and I haven't read about individual performance objectives except as relates to training, so I can't make domain-specific suggestions. My sense from what I have seen in the scientific literature is that in addition to technical ones like spikey_ritchie's excellent ones, these could be learning goals on technical skills ("Learn Python well enough to complete 5 user stories on our new project") or teamwork weaknesses ("Take an 'Active Listening' class and complete an Implementation Plan.") For the latter, the person would negotiate individual goals with you or just a peer on the team who agrees to hold them accountable and confirm it was completed.