1) Not really:
http://wiki.lazarus.freepascal.org/SynEditFor all else: Ask here.
2) They are 99% identical. You should use SynEdit. SynMemo has:
- less published properties (they exist, but are public or protected
- 2 wrappers: like you can use SynMemo.Append as short for SynEdit.Lines.Append
- 2 extra functions (rather slow) converting the x/y into a bytepos it the complete text
3) Assign it to the SynEdit.Highlighter property. In Object inspector. The SynPasSyn will be i the dropdown, IF you dropped one (or more) on the form.