Item data is often a separate layer to track data in general level editing (easier to change and reposition things, like say removing pickups in time trial mode, if it is different to background level data). You would then want to find this. If you can find what changes when you pick it up (should be fairly basic cheat finding same/different type search if you play with savestates) then you can track it backwards.
AI data I am less sure about. They can have it preprogrammed but I would have expected it to just follow along with the course layout (which may be separate to the graphical layout and the items/pickup layers).
Still this is something you can find happily enough with debugging. If there is a map mode so you can see nice 2d icons on the map of the other players (you can do it with on screen as well but it is harder) then that will be able to have the part of memory (probably in the OAM section) governing it ultimately be connected somewhere along the line to the AI (the AI presumably determining where the NPC is, and then that getting used to move a sprite around). Bonus here is you can then do things like hard mode (Mario Kart is famous for artificial slowdowns and rubber banding, you can then change these to make things harder), turbo mode (see before, though you will also want to do other things), possibly aggression or defensiveness altering stuff (most things will go around a track, maybe fire their weapon, and dodge when the time is necessary, you can then increase the dodge radius and efforts). It might also change between what CC you are racing in too but I am less familiar with this game to know, in others it certainly does.