I've created a subdomain on my server and the cPanel logins for this subdomain are exactly the same as my primary domain. Is there a way to create another user who only has the logins for my subdomain?
Not for logging into cPanel itself, no. You can give subdomain users their own FTP account that only accesses that directory, and you can set up POP mailboxes for subdomains with their own password - but there's only one cPanel account.
If you needed that, you'd need to sign up for multiple cPanel accounts (one for the main domain, then others for the subdomains that you want separated). Or you could take out a reseller hosting plan, and create those cPanel accounts yourself.
Just be careful about setting up sub domain accounts as their own cPanel accounts. DNS can get really ugly as a result. You'd be better off in deleting the subdomain DNS entries and adding the entries manually via WHM's "Edit DNS" tool, but again, you need to know what you're doing so you don't break anything.
Douglas Hazard - Certifiable Sports Junkie and Sports Community Enthusiast
Host of Two Cents Radio - Follow @TwoCentsRadio on Twitter (@BearlyDoug on Twitter)
Is it possible to make another cPanel account which can has user restrictions. For example they cant view or edit certain folder/databases?
You can do this with individual FTP accounts for specific folders. If you're using phpMyAdmin, you should be able to create a user with limited access for the databases as well.
However, I don't believe you can do this with special cPanel account settings. You can create "Packages" for cPanel accounts, but these packages are mainly designed to limit resources (i.e. amount of databases, disk space, bandwidth, etc) and other types of accounts (FTP, email, etc).