First of all, read this:
JASS Tutorial
It's a great tutorial. I read it when I was first learning JASS and it helped me A LOT. After reading the tutorial I suggest you start making simple custom spells with JASS or open up spell demo maps and looking at the code - that's the fastest way to learn JASS once you know the basics.
Now, as for your questions:
- No, you can't do it with GUI (at least not very efficiently if you want multi-instanceability) I'll let Daelin explain the rest here: Advanced JASS tips (even includes instructions on how to create a knockback effect with JASS)
- Jasscraft (http://www.hiveworkshop.com/resources_new/tools/469/) has a function list for every function in existence in JASS (as well as names for blizzard-coded global variables like bj_lastCreatedUnit and such). The functions are listed with their parameters, what they return, and if they are not natives, what code they contain.
- No. I don't know how else you would expect to write JASS without typing it. But don't worry, if you are going into even slightly complex code (like knockback, for example), typing out JASS is actually faster than trying to do it with GUI. And btw, JASS is more similar to C++ than to Java.