The warnings means that on the switch statement, in case of a condition, the code may go to the next case because the break is missing.
Most likely you have something like:
// do something
//<--- no break here
This might be on ...
No, it's not possible.
The stlink "speaks" SWD, whereas the atmega uses a completely different, incompatible, debug- and programming-interface.
By the way, the stlink v2 itself contains a microcontroller multiple times more powerful than an atmega644.
Yes you can use an external programmer. First, remove both of the ST-Link jumpers from your Nucleo board to cut the on-board ST-Link from the main microcontroller.
You need these connections for SWD interface:
Power: You need to power the Nucleo board somehow. One can use 5V or 3V3 pins to provide external power. I'm not sure if your ST-Link can provide ...