1. Скрипты и картинки да, можно. document.scripts и document.images. Насчет остальных - сложнее, но можно получить их вручную, используя document.getElementsByTagName.
2. Отследить загрузку - аналогично, скрипты и картинки можно, насчет остальных не уверен. Ошибки относительное большинство позволяют обрабатывать.
Однако, эту идиллию разрушает то, что событие window.onload вызывается после загрузки всех внешних элементов(в т.ч. картинок и скриптов). Эх, мечты, мечты...
P.S. Для скриптов без async/defer это почти бессмысленно.