Winston Pang wrote:
Well besides using SQL server studio management how else can u set a user id and password?
Sql server studio manager is freely downloadable. I would propose using it.
Otherwise, you could use DDL and system stored procedures, but now we have left a simple connection far behind.
Winston Pang wrote:
So the initial catalog is basically saying if "database1" is attached to the sql instance already, then just read from that? What happens if the database name doesn't exist for the initial catalog value u set, does it then attach itself to the instance?
Try it! 
Winston Pang wrote:
So how do i adjust privlidges on the mdf file or the SQL server itself so that you can locally connect to a DB without using the user instance property?
Just use the ordinary security settings for files.
As Blowdart mentioned above, the permissions on files in the user directory are usually quite restrictive, take care of where you put the file and how you assign permissions.
Winston Pang wrote:
Also one last question, typcially how are things setup when people use SQL server as their backend for their applications?
Do they just leave the .mdf file on the users machine, and specify the Server path as some other remote path?
AFAIK sql express does not support having data files on a share.
If this is a database deployed together with your application, I bet the normal way of connecting to the database is through user instance.
Winston Pang wrote:
Also, how when you specify the SQL Server instance name, how is that obtained normally? I mean yeah it's common that an SQL Express install is named as SQLExpress, but what about other versions, and what if someone renamed it, what happens in terms of deploying an application, can you dynamically determine if an SQL Server install is present and detect the named instance?
If that could be an issue for you, you could ask the user when the application is installed.
In a hosted environment, i.e. web-server, the sys-admin of that server should know.
Edit.
My suggestions above is targeted SQL Server express.
If you develop for something that should be deployed on SQL server, I think you should go for creating a database from within sql management studio on the default instance and connect to that instead of via an attached database file.
I can recommend
this site for short info on connection strings.