1.If the code is related with the same functionality in multiple controller, better is to create a base class for all your controller and keep your code only there. In this way you could have: protected, public or static methods that will be inherited in all your controllers.
I did in this way in my next MVC4 article:
MVC Basic Site: Step 2 - Exceptions Management[
^] All controller are inhering
BaseController
class.
2.In generally, if you want some global methods to be accessible into an entire context (assembly, application, solution) you should use static methods and place the methods into a public class and the class into a project (assembly) that is accessible into all projects that will need that common functionality.