Can I create an AlwaysOn replication of a DB where some tables don't have a primary key?
The replication that is used by availability groups is akin to database mirroring, not table replication (SQL Server Replication).  AG replication has no requirements regarding primary keys on tables.  The limitations and restrictions are clearly documented at Prerequisites, Restrictions, and Recommendations for Always On availability groups -> Availability Database Prerequisites and Restrictions.

For the situation you are describing, you would want to Configure read-only routing for an Always On availability group and have the BI team to include ApplicationIntent=ReadOnly in the connection string so that their queries run on the secondary.