What happens If the interrupt occurs during the execution of HALT instruction?
The return address saved on the stack must be of instruction after the HALT instruction


Of course. Otherwise the CPU would go into a HALT instruction again after returning from the interrupt.


  Suppose this processor has 32 bits Load/Store operations, ALU operations is 16 bits and Branch instruction is 16 bits.


Some information is missing: Either the information, that "HALT" is a "branch" instruction on the given CPU (on modern automotive CPUs "HALT" is a special instruction class, not "branch") or the information how long "HALT" is.


  3000 + 4 + 2 + 2 + 2 + 4 + 2 + 2 = 3018


Assuming "HALT" is also 16 bits long: Yes, it's correct.