I have multiple custom pages which have been created using asp.net webforms. Is it possible to create a custom page using asp.net mvc4 ? I am currently working on SDL Tridion 2011 SP1.
Yes, you can do that.
A custom page is just a 'link' to a page on a web server, which can be hosted on the same server as your Tridion CM, or on any other server. This means that you could use any technology available (.NET webforms, .NET mvc, Java, php, plain html, etc).
For Tridion, it's just a link that is opened within the CM gui.
Go for it! I've written several Custom Page apps in ASP.NET MVC and it is a much more enjoyable experience than Web Forms, and 100% compatible with Tridion.
Most of the custom pages today should use the Core Service and not the Tridion TOM.NET DLLs. If this is the case, then the MVC application can run anywhere, as long as the firewall allows the connection from the MVC IIS server to the Tridion Core Service (CMS server).
I would also suggest to take a look at the Impersonation User settings and you might need to setup IIS to not allow Anonymous Access, for example.
Finally, you'll want to place the dependent DLLs from Tridion in their own 3rd party folder so it will be easy to replace them when you upgrade to a newer version of Tridion.
During the upgrade you'll also need to update the Core Service bindings in the Web.config of the MVC app.