Is it possible to assign permissions to a View in document library?
Let's say I want to create a View on which only Group1 will have access. Is this possible?
Not really, as in SharePoint you cannot define permissions based on List Columns (Fields) just like that.
What you could do as a workaround is create multiple pages, and add List View Web Part to each of those pages, and configure it accordingly on each page (to only show ONEs or TWOs). Then assign permissions on those pages.
NOTE! People who know SharePoint can easily view all list items, so do not use this method for sensitive data - only when you understand the limitations and possibilitites. Consider this as profiling content and views to make user interface cleaner by being able to only show content that is of interest to specific users.
Or, if you need real permissions, add Event Handler to the list that modifies permissions whenever field value is set to, or changed between ONE/TWO. You'd need to break permission inheritance for the item, so beware of performance issues if your list will have more than 5000 items.
This may not be what you're looking after, but create two lists (or even folders) that have unique permissions. Then for the end user, present two links so they can select "Create ONE" or "Create TWO", which will take use to corresponding NewItem form. Downside to this is of course that if changing ONE to TWO doesn't really have the effect you're originally looking for (becoming visible for the other group only).
No, this is not possible using out of the box functions of SharePoint.
Use Titus' SharePoint Security if you really want to do item-level security. It's the only practical method for managing the administration of item-level security.
As stated a few times here - it can't be done from a single list/library, without some 3rd party help, or customer code.
If you want to use only SharePoint you could do this by creating three lists. Your "source" which has all the data, and is locked down, and then two destination lists, which are populated from a simple workflow from the source list. You can then secure each list to the groups you need. This can get complicated if you need two-way data syncs. But if the source is where it's updated, and only certain individuals have that access, then using the "push" type method could work.