I do not want to share data with everyone on the internet but just people in my company who may not necessarily be a member of my ESRI organisation. What is the best way to do this? And can they have access to the webmap based on they having a company's email address?
You can share to other ArcGIS Online users who are not a part of your organization by creating Groups. You can add other ArcGIS Online users to these groups and share content within the groups. This documentation goes over how to create groups, editing group properties and settings and shared update groups.
When inviting users, there should be a switch like this one that allows you to only search for users in your organization
Make sure that this switch is flipped off so you can search for user throughout ArcGIS Online.