- Lets say we have 2 servers, sql01 and sql02, and 10 databases to
   protect. Can we set this up:

Yes you can set that up.  I suggest you keep this in consideration when you pick your 5 databases (for one availability group) in the example you gave. Your application should be able to run successful with one group of database being in the same `Availability Group` and failing over between nodes. Here is a snippet from [books online][1].

> An availability group supports a replicated environment for a discrete
> set of user databases, known as availability databases. You can create
> an availability group for high availability (HA) or for read-scale. An
> HA availability group is a group of databases that fail over together.

 - During failover, each server can take over as primary for all DBs.

Yes.  Test if your hardware can support the workload when you host both groups in the same host.

 - Are there additional options when using AlwaysOn to spread write
   operations?

Your connection strings need to set correctly. Not directly related to your question but you can offload some work to read-only replica to reduce contention for your write workload.  See details [here][2].

Reading the comment I see you are looking for step by step instructions. I listed few resources here. Number 3 item is 3 part series as a follow up to the white paper (item number 1). 

 1. https://msdn.microsoft.com/library/hh781257.aspx
 2. https://www.brentozar.com/archive/2011/07/how-set-up-sql-server-denali-availability-groups/
 3. https://blogs.msdn.microsoft.com/sqlalwayson/2012/10/16/how-to-migrate-to-alwayson-alwayson-from-prior-deployments-combining-database-mirroring-and-log-shipping-part-1/

**[SQL Server Failover Cluster Instances (FCIs) and Availability Groups][3]**

> You can set up a second layer of failover at the server-instance level
> by implementing SQL Server failover clustering together with the WSFC
> cluster. An availability replica can be hosted by either a standalone
> instance of SQL Server or an FCI instance. Only one FCI partner can
> host a replica for a given availability group. When an availability
> replica is running on an FCI, the possible owners list for the
> availability group will contain only the active FCI node. 
>
> Always On
> availability groups does not depend on any form of shared storage.
> However, if you use a SQL Server failover cluster instance (FCI) to
> host one or more availability replicas, each of those FCIs will
> require shared storage as per standard SQL Server failover cluster
> instance installation.


  [1]: https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server
  [2]: https://msdn.microsoft.com/en-us/library/jj542414.aspx
  [3]: https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/failover-clustering-and-always-on-availability-groups-sql-server