If you kids like Legos, discard all those comments that your kids might not like Legoland. We took our younger son to Legoland when he was one, and there was PLENTY for him to enjoy. People underestimate that place.
PLUS, if you will be going AFTER May 28, and during warm weather, the new WATERPARK will be open! It's very "young child" friendly looking.
Legoland really takes two days. There is an aquarium there too, which your kids would like. I'd look into purchasing a two day all inclusive pass to Legoland.
The San Diego Zoo, to be honest, it REALLY disappointing. It's extremely convoluted and difficult to navigate with a stroller. It's lots of walking up and down hilly paths and the enclosures for the animals are pathetic. I'd suggest skipping it. If you want to see animals, head for the Wild Animal Park instead. Much nicer and more interesting (and closer to Legoland too...).
I'd stay in Carlsbad. Oceanside can be iffy by the beach (lots of gang activity there...I lived there for 3 years, I know). I used to work in Carlsbad. There is a HUGE "froo froo" outlet mall in Carlsbad too (your wife will love it) just about a half mile from Legoland almost on the beach. There is also a lot of good dining in the immediate area.
I'd look into:
Homewood Suites Carlsbad (on Palomar Airport Road)
Inns of America Suites Carlsbad
Holiday Inn Carlsbad
Or, for a REALLY nice place to stay, the Sheraton Carlsbad is located on a hill overlooking Legoland and has a private entrance into the park (what's good is being able to save the $14 day parking fee at Legoland, as well as being able to quickly get back to your room if you hit the waterpark or the Pirate Shores (wet) section of the park. You can find good rates for the Sheraton online if you have AAA. It's a full resort, with onsite spa, restaurants, and bars (as well as a nice pool for the kids to enjoy). Rates here start at $159/nt.
I'd not stay in downtown SD area with kids those ages. Not much to keep their interest there at all. As for a nice beach, many of them around the Carlsbad-SD shoreline are very rocky. Nice for looking at, but not practical.
Oceanside has a nice beach, but for a REALLY nice beach, head to Newport Beach (specifically, Corona del Mar State Beach). It's located about 15 miles south of DLR. It's our family's "go to" beach (we live about 10 min from it). I love it because you park ON the beach, and there are restrooms, and a restaurant, and the sand is SO fine and soft, and there are some spectacular views!