Ok...Just to let you know that having a 3 year old is more frustrating than having a 2 year old. You are not alone in your feelings because many parents are going through exactly what you are experiencing.
What makes it even harder is that your 3 year old feels like he has to compete for attention with the 18 month old. Try to include them together in as many activities as you can.
Since your 3 year old can understand a lot more than your 18 month old, make sure you establish rules and boundaries before you go anywhere or start an activity. Try to start focusing more on the positive and let some of the minor negative things go. You must pick and chose your battles.
What you can do to help your 3 year old be more positive is to set up a behavior/sticker chart. Each day, set up 3 sections for morning, afternoon , and night. When he has behaved in each part of the day, then he will receive a sticker for that section of the day. So he can receive 3 stickers a day. Make a REALLY big deal when he behaves well and praise him beyond belief for his actions. When he does not behave, he receives nothing. After a total of receiving 10 stickers, then he will receive a small, cheap special treat or outing. After a few weeks, change the number 10 15, then 20 and so on until the chart is no longer needed. Your goal is to focus more on the positive behavior. The sticker chart will serve as a visual reminder as to how well he is improving.
When he misbehaves, get right down to his eye level and tell him what you expect from him and make him repeat it. Use short simple sentences with one syllable words.
If his behavior becomes more aggressive and violent, then a visit to the pediatrician may be necessary. If he will not listen to anything that his parents say, and is acting out more and more, he will need to be evaluated by a professional.
Hope this helps!!!