v1.6 adds the capacity to do this via http://www.creationkit.com/GetFormFromFile_-_Game. Say Bag of Holding.esp, for instance, adds a global, fBagOfHoldingVersionGLOB [GLOB:0104B409]. You can check not only the existence of it, but make one of your properties or variables point to it and get its value, albeit you'd want to check for its existence OnPlayerLoadGame style. The below will tell you if Bag of Holding.esp is loaded or not and its version if applicable.
ScriptName YourModPlayerAliasScript extends ReferenceAliasGlobalVariable Property fBagVersionGLOB Auto Event OnPlayerLoadGame() fBagVersionGLOB = Game.GetFormFromFile(0x0004B409, "Bag of Holding.esp") As GlobalVariable ; Remember to cast If fBagVersionGLOB Debug.Notification("Bag of Holding.esp version " + fBagVersionGLOB.GetValue() + " is loaded.") Else Debug.Notification("Bag of Holding.esp is not loaded.") EndIfEndEventPretty f'n cool stuff if you ask me. This really tears down the wall.
Note: http://www.creationkit.com/OnPlayerLoadGame_-_Actor will not fire the first time a save is loaded, but every consecutive time. To get around that, you could set something up like http://www.creationkit.com/Complete_Example_Scripts#Maintenance.2Fupdate_code_which_runs_once_per_save_load_and_shows_a_message_when_a_mod_is_updated_or_first_loaded.