After a few hours messing with the bsnes Debugger, I've discovered this:
Subroutine $80:F17A is called when a placeable item is used. Prior to the jump the value from direct page address $B4 is stored in X, and one of the following values is stored in Y:
00: Banana Peel (placed on ground)
01: Green Shell (thrown)
02: Red Shell
03: Chomp (acts like a thrown Green Shell)
04: AI Items (placed on ground) *$
05: AI Items (thrown) *+
06: Banana Peel (thrown)
07: Green Shell (placed on ground)
* The specific item placed depends on the character value. Mario and Luigi don't have placeable items, so they default to the Princess and Toad's Poison Mushroom. The Poison Mushroom doesn't have the desired effect in Battle Mode--while it does shrink and slow down anyone who touches it, they cannot be squished and the effect lasts until the end of the battle.
$ Bowser's fireball doesn't seem to spawn at all with this value.
+ While this is the value used when computer players throw items in front of them, it normally seems to behave the same as 04 when used by a player (there's probably an additional timer variable, because CPU AI holds onto items as Jeville mentioned in a prior post) Bowser's fireball does appear with this value. Nevertheless, it will collide with Bowser shortly after being placed if he is sitting still, as the fireball spawns at the "bottom" of its clockwise radius (6 o'clock).
Here are the relevant cheat codes:
80E93500 + 80E937?? Banana Peel replaced with another placeable item (replace ?? with one of the values in the list above)
80EEF280 + 80EEF3F4 Allows AI Items to be thrown by a player (side effect: AI will no longer hold items before throwing them)
7E0D7C03 Player 1 always gets a Banana Peel from item boxes
7E0D7E03 Player 2 always gets a Banana Peel from item boxes