2. Controllers and views are loosely coupled and I can have a single controller which "uses" severar views and viceversa. If you tie your views to your controllers is your personal choice.

3. Namespace based on directory is ok for me. I'm java developer so I feel natural and good practice. Just use that way.

For example, all "user" related views could be in "user" or "users" (is your choice) namespace. "Package" name part is lowercase in java and I'm ok with that but if you preffer camelcase starting with upper or lower case and/or with underscores is your choice.