1. Yes, you can do it (I think), but it is not a good idea. Because you'll have strange problem if you can the original sources, but don't update the .o files.
2. This is the best idea. You can create a target, a new project with some targets, but it is up to you which you feel is better for your project.
3. There is no such thing as startup file. All source files are compiled and then linked to a executable or library. If you've built an executable then you must have a function named main, which is the entry point to your program. Different OSes have different requirements for the main function.