Any account you have on your iPhone that has a calendar function can be added to the list of calendars accessed via the iOS calendar app. So yes, you can turn on the calendar feature in your iCloud mail account settings, and your gmail account settings and those two calendars will show up on your iPhone. If you share your google calendar with someone, that has nothing to do with the iPhone itself - just set that up online in your gmail account settings and it should work. Your iPhone is just going to populate the Calendar app with whatever entries are in the calendars enabled through the account settings.
You may be overthinking this. Just set up your private, personal calendar on iCloud and turn that on in the iPhone iCloud account settings. Then, set up your google calendar online, with whatever sharing settings you wish. Set up that gmail account on your iPhone, enable the calendar setting, and go.
On your computer - if a Mac, just enable those two accounts in Calendar. If on a PC, you would use the iCloud control panel to sync the iCloud account with Outlook, and Google Sync app to sync the google calendar with outlook.