I had a similar situation with my son's first birthday last year. It took us about 8 years to have him, so there was a very wide range of ages with many of our friends kids. We had a party similar to yours as well. It was at a park with a large play area so kids of all ages could keep busy.
In regards to the goodie bags, what I did was go to the local dollar store to buy various items for the bags. They actually have an area in the store specifically for goodie bag items (with multiple items per package). I bought several different ones for different aged kids and then split them up according to age and labeled the bags with each child's name. Some of the items (such as bubbles for instance) could be given to any age child.
Hope that is helpful and good luck at your child's second b'day party!
D.