You can use Tabs to split up your code. Functions, like retrolefty suggests, or just find convenient places to split your code.
I had a 13K (compiled) program, I split it thusly:
program_name (where I had notes)
a_presetup (library calls, pin assignments, variable declarations)
b_setup (pinModes, Serial.begin, SPI.begin kind of stuff)
c_void_loop
d_more_void_loop
e_end_void_loop
f_pitches (was using Tone Library, this held the note frequencies)
Didn't have any functions, but had to pay attention where the closing } for void loop ended up.
Compiler seemed to be happy compiling by tab name, and program flow followed the tabs as well.