1) How can one create a submit button, to save changes rather than just it updating automatically?
There are many ways you can do that.
One would be … set your fields “Read Only” and have a tiny button at the right edge of each field. In that button, assign a “Apply Formula to Field” command with the formula set to User Input.
So to update the contents of a field, you would press the button. A tiny window will open, and you can enter in your text, or cancel.
2) I am aware of the $user and $user group fields, but is this the only way to "tag" a record with the user creating/modifying it?
Sure, it's the same sort of idea as above.
When the database is launched, you could have a script that uses a “Apply Formula to Field” to populate a variable. So when someone logs on, you could get it to ask them what their name is, or whatever you like. You can then use that information as you like in your program.
3) Is there a way to create a menu of choices? I know the toolbar, but any ideas would be great.
You can use different methods to do this too.
IF and Else can be used to switch the visible / invisible state of any object or field on your main form or even in your tool bar.