1) For pixel style I use PaintDotNet and do animations by hand. For something smoother, I use inkscape to make each component of my sprite and then spriter to animate.
2) It depends on what you're doing. All I can think of in vanilla construct is 3D style sprites and parallax. However, if you're a fan of 3D I'd recommend Q3D which incorporates three.js into construct.
3) I think the vanilla tile map in construct works fine. I'd say it's probably better to use than an image created by an external program because of how it can be manipulated as the game progresses.
4) This one's tricky, and rather subjective, it depends on what you're looking for. Are the objects moving etc.
5) I would not buy anything. Make the game for what you've got and let people who've already bought the tech you don't have do the testing on their devices.
6) Construct 2 is based around HTML 5 so that is a good place to start. However, when it comes to coding, you can learn the principles in any language and transfer them to any other similar language; Java to C# to Python, Haskell to OCamel etc. Then all that's needed is a brush up on the syntax and a quick look over the native API's and any external ones you may be using.
7) The effects Construct uses are WebGL effects which is a JavaScript API so to create your own, take your knowledge from point 6 and then look over the documentation of WebGL and get cracking.