There is no custom Arduino language, Arduino is the name of the project here: Arduino.cc.
The compiler used by the IDE is called avr-gcc and it is a C++ compiler. The languages listed below are compatible with avr-gcc and can be used to program your sketches in the IDE.
- Inline ASM
The IDE has access to a large API for use with your Arduino development boards. The source code is freely available for you to extract and modify as you wish. The API also sits on top of a robust and industry standard framework for manipulating the CPU directly. So when you need more performance from your device you can leave parts of the Arduino API out directly control the hardware. An example is port manipulation over Arduinos digitalRead/Write functionality.
There are changes that the IDE makes to your code on compilation, these aren't permenant, but do have an impact on certain uses of code. This is outside the scope of this question and will be covered in a future answer.