Well, there is a lot of stuff you can easily do without having to use asm at all. Edit text, edit graphics, edit evolutions and moves, add new moves, etc etc.
I think part of why there hasn't been an item editor is that it isn't setup the way later games are. There aren't like... item headers, or something.
There is an array of names (just a pointer to the start, no pointers to the individual names)
There is a separate array of pointers to the asm scripts items call when you use them (these scripts determine when you are able to use them, there isn't a separate byte for that like later gens)
There is a bit field that marks which items are "key items" that can't be sold or tossed.
There is another table that handles prices for normal items.
There is yet another table that handles the prices for TMs.
Also, the names for TMs and HMs are dynamically generated when they are needed for some reason instead of being stored as text.
There is a table that determines which items open the Pokemon menu when you use them.
There is another table for items that close the menu.
Probably a few more that aren't coming to me off the top of my head.
All together, that's probably why nobody has made a standalone item editor before. The data is all over the place, and you have to use asm to really do anything useful with them anyway, like adding brand new items.
Also, unlike later gens, there is no separate scripting language for events (that's why there is nothing like XSE or PKSV for RBY), they all just point to text, and ones that need to do something fancier use a text command to load asm.