If I understand correctly host facts are shared and cached between job runs on AWX. Would the cached facts from a dynamic inventory that is shared between jobs be available to both, or do both need to have their own cache?
Facts are per host. Inventories are a group of hosts. A job run with fact cache on will result a temp directory being created and a per host Json file being laid down in that tmp dir. We then enable the Ansible json fact cache. Throughout a playbook run the per host Json file will be read and written. When the playbook finishes awx will update the database with the per host Json fact files.
So yes, the facts from the cache (database) will be available to both jobs.