Can Activities be shared programmatically? They don't seem to have a share object associated to them? Can programmatic sharing of Activities be achieved without a Share object?
There is no Share object for Activities. You can vote his idea to add that option but SalesForce currently have no plans to make that change.
The permissions can changed to Controlled by Parent (via Setup | Security Controls | Sharing Settings) or you could create a visual force page that uses without sharing to view the Activities.
Not exactly... but there is a model I came up with that can achieve this. Although it might be a little bit ugly.
Create a new object like 'Master Activity' or something. Create a custom lookup on Activity to this object. If you need a group Activity, then create a 'Master Activity' instead. Have it somehow select a group. Doesn't matter if you use the Owner field or a different lookup, and then write a trigger to automatically create 'Activities' for everyone in that group. You can then write additional triggers if you wish, to do special things like if one is closed then rollup the closing to all related activities etc. Whatever would fit your specific needs.