The best places to find driftwood are on Northern California beaches such as these
. However, you should be able to find plenty in the Bay Area and on the Central Coast.
Keep in mind that driftwood gets washed downstream from forested areas then tossed around on the coast. So you're more likely to find it where there are forests nearby, and near areas where streams and rivers meet the sea. That's why there's so much driftwood in Northern California and so little in Southern California.
There are redwood forests in Marin County, around Santa Cruz, and around the Big Sur area, so they should provide a decent amount of nice driftwood. I don't know specifically which beaches would be best.
As for sand dollars, you might try Stinson Beach north of San Francisco or Cayucos State Beach north of Morro Bay. I'm sure there are other beaches as well, since sand dollars aren't rare creatures. They live on the sandy sea floor, so your chances of finding them are best on sandy beaches, as opposed to rocky or pebbly ones.
Timing is everything; your luck with beachcombing depends on how many people have gotten there before you. Early morning, low tide and anytime during the off-season are your best bets.
Hope this helps.