Would just like to report that I just successfully used the Quest Alias method to add new items for sale to all vendors of my choice, without breaking compatibility. This should really be the recommended way to add items to existing vendors for all mods in the future since it ensures compatibility. Thanks to everyone in the thread for the information.
After adding the chests as Reference Aliases, I observed that I had not created an edit to either the chest's base object or the reference itself in the cell.
However, I did notice that the items did not respawn when the vendor restocked their inventory. I got around this by making the aliases Optional, and performing a RegisterForSingleUpdateGameTime() chain that clears all aliases and re-fills them once every 24 game hours. When the alias is refilled, the items reappear. This timer could be tailored to individual mod needs.
Here it is in case anyone ever needs a template. This covers most general goods vendors in the game.
Spoiler scriptname _WL_VendorStock extends QuestReferenceAlias property RiverwoodTraderChestAlias autoReferenceAlias property CaravanAChestAlias autoReferenceAlias property CaravanBChestAlias autoReferenceAlias property CaravanCChestAlias autoReferenceAlias property AvalAtheronChestAlias autoReferenceAlias property BethethorsChestAlias autoReferenceAlias property BirnaChestAlias autoReferenceAlias property BrandChestAlias autoReferenceAlias property PawnedPrawnChestAlias autoReferenceAlias property WhiterunFraliaChestAlias autoReferenceAlias property SolitudeBitsAndPiecesChestAlias autoReferenceAlias property ArnleifChestAlias autoReferenceAlias property GrayPineGoodsChestAlias autoReferenceAlias property NiranyeChestAlias autoObjectReference property RiverwoodTraderMerchantContainer autoObjectReference property CaravanAChestREF autoObjectReference property CaravanBChestREF autoObjectReference property CaravanCChestREF autoObjectReference property AvalAtheronChest autoObjectReference property BethethorsMerchantChestRef autoObjectReference property BirnaChest autoObjectReference property BrandChest autoObjectReference property PawnedPrawnChest autoObjectReference property WhiterunFraliaChest autoObjectReference property MerchantSolitudeBitsAndPiecesChestRef autoObjectReference property ArnleifChest autoObjectReference property GrayPineGoodsChest autoObjectReference property NiranyeChest autoEvent OnInit();Stock lantern itemsFillAllAliases()RegisterForSingleUpdateGameTime(24)endEventEvent OnUpdateGameTime();Restocks inventory for all merchants once per dayClearAllAliases()FillAllAliases()RegisterForSingleUpdateGameTime(24)endEventFunction ClearAllAliases();Clear all merchant chest aliasesRiverwoodTraderChestAlias.Clear()CaravanAChestAlias.Clear()CaravanBChestAlias.Clear()CaravanCChestAlias.Clear()AvalAtheronChestAlias.Clear()BethethorsChestAlias.Clear()BirnaChestAlias.Clear()BrandChestAlias.Clear()PawnedPrawnChestAlias.Clear()WhiterunFraliaChestAlias.Clear()SolitudeBitsAndPiecesChestAlias.Clear()ArnleifChestAlias.Clear()GrayPineGoodsChestAlias.Clear()NiranyeChestAlias.Clear()endFunctionFunction FillAllAliases();Fill aliases to apply their inventoriesRiverwoodTraderChestAlias.ForceRefIfEmpty(RiverwoodTraderMerchantContainer)CaravanAChestAlias.ForceRefIfEmpty(CaravanAChestREF)CaravanBChestAlias.ForceRefIfEmpty(CaravanBChestREF)CaravanCChestAlias.ForceRefIfEmpty(CaravanCChestREF)AvalAtheronChestAlias.ForceRefIfEmpty(AvalAtheronChest)BethethorsChestAlias.ForceRefIfEmpty(BethethorsMerchantChestRef)BirnaChestAlias.ForceRefIfEmpty(BirnaChest)BrandChestAlias.ForceRefIfEmpty(BrandChest)PawnedPrawnChestAlias.ForceRefIfEmpty(PawnedPrawnChest)WhiterunFraliaChestAlias.ForceRefIfEmpty(WhiterunFraliaChest)SolitudeBitsAndPiecesChestAlias.ForceRefIfEmpty(MerchantSolitudeBitsAndPiecesChestRef)ArnleifChestAlias.ForceRefIfEmpty(ArnleifChest)GrayPineGoodsChestAlias.ForceRefIfEmpty(GrayPineGoodsChest)NiranyeChestAlias.ForceRefIfEmpty(NiranyeChest)endFunction