ISR calling in C

It is possible to write the ISR directly in C without writing the ISRentry in assembly (for the portSAVE_CONTEXT & portRESTORE_CONTEXT macros)?

ISR calling in C

This depends on the compiler you are using. If you look at the GCC ports you will see that they use an inline assembler to create macros and there are no separate asm files. If you look at (for example) the IAR ports you will see that asm files are necessary as the inline assembler cannot access the C variables directly.