You can share media files between sites assuming they are in the same instance. This is OOTB functionality. If you want to share files in different instances, you'd have to do some work with a virutal directory in IIS or do some custom code to make that happen.
For media libraries, you typically leave the settings as they are. Then in the media library selector you can choose which site and media library you want to use. This would be the easiest setup.