Since you mention the use of TDS, you can manage the synchronization of all Roles and security on item using features available in TDS. This has the advantage that both Roles and the security becomes part of your solution and can be deployed both locally and across all environments in a consistent manner.
It is possible to serialize any ...
Since you earlier mentioned, only item owners should be able to view/edit the item, what I suggest is, to have your own implementation of "ItemResolver" pipeline processor and in that you can check the current user's role is "creator\owner" (check this) or you can also check if "Item.Security.GetOwner()" is the context user, and ...
Sitecore user management is based ASP.Net Membership. ()
The architecture of ASP.Net membership wasn't designed to perform operations that you try to do quickly. How your code will work internally:
It will get all users (80K)
It will deserialize all profiles (Profiles are saved in a separate table. They are saved in the serialized way for flexibility to add ...
I was able to achieve this by adding below code.
var virtualUser = Sitecore.Security.Authentication.AuthenticationManager.GetActiveUser();