Ok looking at the bird following events: the first two things that stand out are what codah already mentioned. No need to have everything under an 'Every tick' condition because the events run every tick anyway by default. And events 10/11 I guess were a copy/paste error.
Then, there's no need to use the system pick conditions when there is a sprite picking condition that does the same thing. For example, you use both 'GoodWing: Is PickedUp' and 'System: Pick GoodWing by evaluating GoodWing.pickedUp' conditions that both do the same thing but the first is more readable. Also, 'System: Pick GoodWing where GoodWing.lineNum = 0' could be just 'GoodWing: lineNum = 0' (Sprite: Compare instance variable).
All the GoodWing picking events have an 'Is pickedUp' condition, so you can take that out and move it up the top below the 'else' as it applies to all sub-events.
And finally for the looping, instead of looping PickedCount times and keeping track of an index and so on, you could use 'System: For each (ordered)' to loop through each GoodWing ordered by lineNum.