So, my work on it is a bit all over and I haven't looked at it in a while (been taking a break from FF5). I make no claim that any of this is exactly right.
I've attached a few text files that document what I have, it should be enough for you to start figuring out anything else.
C1 is probably not the place you need to look; it mostly handles sprite animation. That's not to say it's not involved, but most of what I've seen is in C2,
The core of the out-of-combat menu layout is found at C2/A075, with the actual data (12 words; 24 bytes) starting at C0/F601. The actual text drawing and menu control is the 11th word, and is itself a link to a table. The layout is a two byte header for the table size, and then a list of eight byte entries. For example, the Item menu looks like this:
Item Menu Controls - C3/A73C
============================
(Data Length)
18 01
(Use/Sort/Rare)
IT IP CX CY U D L R
----------------------------
(00) 0F 01 40 10 00 00 00 02
(01) 0F 02 58 10 01 01 00 02
(02) 0F 03 70 10 02 02 00 03
(03) 0F 04 A8 10 03 03 02 03
(Item List)
IT IP CX CY U D L R
----------------------------
(04) 10 01 08 4E 1A 06 20 05
(05) 10 02 78 4E 1A 07 04 06
(06) 10 03 08 5A 04 08 05 07
(07) 10 04 78 5A 05 09 06 08
(08) 10 05 08 66 06 0A 07 09
(09) 10 06 78 66 07 0B 08 0A
(0A) 10 07 08 72 08 0C 09 0B
(0B) 10 08 78 72 09 0D 0A 0C
(0C) 10 09 08 7E 0A 0E 0B 0D
(0D) 10 0A 78 7E 0B 0F 0C 0E
(0E) 10 0B 08 8A 0C 10 0D 0F
(0F) 10 0C 78 8A 0D 11 0E 10
(10) 10 0D 08 96 0E 12 0F 11
(11) 10 0E 78 96 0F 13 10 12
(12) 10 0F 08 A2 10 14 11 13
(13) 10 10 78 A2 11 15 12 14
(14) 10 11 08 AE 12 16 13 15
(15) 10 12 78 AE 13 17 14 16
(16) 10 13 08 BA 14 18 15 17
(17) 10 14 78 BA 15 19 16 18
(18) 10 15 08 C6 16 1B 17 19
(19) 10 16 78 C6 17 1B 18 21
(Scroll Up/Down)
(1A) 86 02 00 00 00 00 00 00
(1B) 86 01 00 00 00 00 00 00
(Submenu - Player Select)
(1C) 1E 01 08 60 1F 1D 1C 1C
(1D) 1E 02 08 80 1C 1E 1D 1D
(1E) 1E 03 08 A0 1D 1F 1E 1E
(1F) 1E 04 08 C0 1E 1C 1F 1F
(Scroll Right/Left)
(20) 86 04 00 00 00 00 00 00
(21) 86 03 00 00 00 00 00 00
(Weapon Equip Info)
(22) 24 01 00 00 22 22 22 22
The first entry is an index that is used to determine function. For example, index #10 handles item menu entries. However, the actual jumping is not so simple.
The code starts at roughly C2/A47C. It looks at whether the instruction has changed or not and whether you're scrolling or not. For non-scrolling instructions, the flow is basically 1) check of the instruction type changed; 2a) if it didn't, run the no-change code; 2b) if it did, run the previous instruction's exit code; 3b) check if the new instruction has special enter code; 4b) if it did, run the enter code; 4c) if it didn't, run the no-change code. Phew.
So for #10, C2/AC01 is the code for if you've just started selecting an item (ie, pressed A on Use) whereas C2/AC1E is the code if you moving to another item (ie scrolling through the list). There's no exit code for #10, it just peaces out.
These functions control pretty much all of the non-combat menu drawing. For example, the location to draw text to is located at C0/ED8F and read at C2/C7DF. However, various layout stuff is handled by other data in the original 12-word table.