As for coding I'd go for 68K assembler, fairly easy to learn and you'll get the best speed possible out of anything you may write... 
It depends on what you want to write and how much time you have. High level languages allow you to write software quicker at the expense of execution speed. However if the CPU isn't the bottlekneck or the code is executed rarely then the overhead of coding in assembly isn't worthwhile.
Choice of algorithms plays a huge part in optimising, more complex algorithms are much harder to write in assembly.