Always, always, always code your sites by hand. WYSIWYG editors produce messy code that is inaccessible and has buckets of cross-browser issues. Learning (X)HTML and CSS (and a little javascript/jQuery) will get you a LONG way, especially if you learn how to make custom themes in Wordpress.
I use Dreamweaver (in code view) for syntax highlighting and code completion. The FTP client built into it is pretty decent, too, but I found myself going to a third-party app for that.
Photoshop for design, Fireworks for the odd image optimization job (or simple designs or fast mockups).
I do all of my slicing in Photoshop unless I'm creating sprites.