Yes you'd need to define a new site set based on spinhalf.h and spinone.h. It should be pretty clear, hopefully, to see how to extend them but if not please post your questions here or by email to me. Basically there is a SpinHalfSite object or a SpinOneSite object which defines the QN's (quantum numbers) of each setting of a site index. And there are the operators such as Sz which are customized for each S value. That's all you should have to change.
About including your new file, you could add that line to all_mps.h as you say, or even simpler you could just add that #include line to the top of your project's code (such as the file that contains your main function, or any file that contains code that will need to know about your custom site set).