2) You can, but you would have to train new detectors if you want to add objects to the database.
3)Yes, if you would apply more then one detector on the frame.
You can use latentsvm object detection for detection by parts implementation, but it's a bit tricky to train new models.
Other then that, you can use Viola & Jones or one of many object detection schemes (for example, HOG + SVM or BOW+SVM).