I've had questions that I've asked be edited into an entirely different question and thus receive irrelevant answers. Is there any way to prevent others from editing my questions without permission?
The answer is no. Anyone with 2k (on a graduated site) reputation can edit any other question or answer, aside from moderator locked posts (and those can't be answered either, so you don't want that).
The reason for that being that Stack Exchange is about content quality, and we believe that being able to edit any post is a great tool to keep question quality high (fix tpyos, mistakes on grammar, etc).
If someone edited your question and changed too much of the context, you can roll it back.
No, community editing is part of the Stack Exchange model. See why can people edit my posts?.
If an edit puts words in your mouth or is otherwise not acceptable to you, you can roll it back. Understand that the community is trying to help and probably edited because the original version of the question wasn't workable on the site where you asked it. So rolling back edits could lead to the question being put on hold until you yourself edit it to address whatever the problem is.
Once a question has answers, it's generally considered inappropriate to edit a question in a way that invalidates any of the answers.
Check the edit summary and comments for explanations of the edits that people are making. If you don't understand the problem, use meta or the site's chat room to ask for help. The community wants to help you ask a good question that fits on the site so you can get good answers. If an editor seems to have not understood what you meant, talk to each other to sort it out.