Yes and Yes.
For the 1st Q: Setup a field in your table called ID (INT 11), set it to primary key, and auto_increment. Then, when you do your INSERT, insert a null or empty value in that field, and it will automatically assign a value.
For the 2nd Q: Do a check before trying to insert, by querying the table for that email address. Then use mysql_num_rows to count the number of records returned, and if that returns 1 or more, then you simply echo the error, and don't proceed with the insert. You'd be better off reworking your table so the email addy is not a primary ID. Use a field like I described above as your primary key.
If you search these forums for "validation", you'll probably find something with code snippets.