I'll be moving to Dubai next month on work visa and then again would be flying to USA in Dec or Jan for 3 weeks due to personal reasons. How and where should I apply for tourist (B1/B2) visa? Should I come back to India and apply as I'm an Indian citizen or can the same be applied from Dubai itself?
Should I come back to India and apply as I'm an Indian citizen?
I take it you are in the 14-79 age bracket given your Dubai work visa so doing so might slightly increase your chances of obtaining a visa but I doubt most people would consider the cost and effort justified. (If an interview were unlikely to be required, ie other ages, then where the application is made should make next to no difference, rather than perhaps a little difference.)
or can the same be applied from Dubai itself?
Yes. The indications are that the process might take months (Date in mind for interview (allow for approximately 3 to 4 months) but about two weeks for an appointment may be sufficient. The interview should be arranged "with the U.S. Embassy or Consulate in the country where you live" but for Dubai this is Abu Dhabi instead. Once in Dubai on a work permit UAE should count as your place of permanent residence.
You will need to complete an online application (DS-160), provide a photograph and pay fees (possibly $160 for application and no reciprocity fee). Details here.
Note it is B-2 that is a Tourist visa (B-1 is Business, though sometimes a combination is issued regardless of which of the two was requested).
provides nonimmigrant visa services to Emiratis residing anywhere in the UAE and to third-country nationals residing in the Emirate of Abu Dhabi. The Embassy provides immigrant visa services to the entire United Arab Emirates and for persons residing in Iran.