1. Either minetest.register_on_punchnode (if you want to interact with a specific kind of block) or the on_use parameter to creating a craftitem (if you want to interact with a tool or item in your inventory regardless of your target).
2. Yes, please read other topics before posting new ones.
http://c55.me/minetest/forum/viewtopic.php?id=5843. Simply, yes. They wouldn't know how to pathfind, because collisions don't currently work, but you might be able to find a way to avoid nodes before they hit them.
4. Yes, using
http://c55.me/minetest/forum/viewtopic.php?id=557 or similar. Read other topics, please.
5. Again, it depends on the context, but see the answer to number 1, and read the API docs for adding to a player's inventory.