Is ASP.NET MVC compatible with this kind of demands?
You can use any server side technology you like.
If so, how is it possible to make it work offline?
With a combination of Cache Manifest (note: limited browser support) to make the files for the application available offline and a Web Storage technology (Note: reasonable browser support) to store the data (which you'll have to sync with the server when it becomes available if it want it shared between systems/browsers).