Overall I would say that Crawl is extremely hard to mod in the traditional sense, mostly because data such as monster and item stats are not separated from code and because it is continuously being developed. No data separation means that small changes within the scope of the mechanics of the game aren't much easier to make than sweeping changes to the underlying mechanics. Continuous development means that any changes you make will soon be obsolete, and anyone who likes what you are doing will have to play an old version of the game. On the other hand you can access all of the code and change it in any way you want, so the possibilities are literally endless. With the right skills and enough time you can take Crawl and turn it into something completely different.
One part of the game where modding Crawl in the traditional way is possible and quite easy is map generation. Changing the basic level layouts can be difficult, because they are pretty complex and many of them do not actually use the map data format but are written directly in C++. But Crawl also uses lots of fixed parts called "vaults" for generating its maps, and those are pretty easy to change. This includes little snippets used as parts of larger maps as well as branch ends and portal vaults. You could also try to make a new sprint map. Check out the dat/des subfolder of your Crawl directory for lots of examples. You can open the files with a text editor and change them, and the changes will immediately apply to newly generated maps once you restart the game. Documentation for the map format should also be somewhere in your crawl folder, if it is not you can find it
here.
While I advise against trying to make major changes to the source in your case, here are the answers to your questions about getting the crawl source and the necessary build tools offline:
It is possible to use git offline purely for version control (read up on what git does
here if you want), but you cant use it offline to get and update the source. But you can download the source for released versions directly from
here or for development versions from
here (via the "snapshot" links). Without internet access you would probably want to use a stable version such as 0.16.1 as a base for modding. Unlike some other games which use a dedicated database for their data (monster stats, item stats, etc), crawl keeps almost all of its data within the actual game code. So it will be nearly impossible to transfer your changes to a newer version, especially if you don't use git.
C++ build tools can be put on a stick and installed offline, but it can be difficult to get them running on windows. If you don't already know C++ or at least C or another similar programming language (Java or something) it will be very difficult to make any changes to Crawl, especially without internet access. C++ is one of the most used programming languages, so lots of learning material exists. The best way to learn about crawl code specifically is to look at some of the changes the devs are making to the code. This requires internet access. But both C++ and Crawl code are pretty terrible for learning how to code, so if you don't already have most of the necessary skills it might be better to start somewhere else.