I want conditionally bypass the optiboot. At the start of the optiboot I do a check, and if negative I want to exit optiboot properly and I want enter the actual application.
You should be able to add your check to the "no wait mod" section of main():
// Adaboot no-wait mod
ch = MCUSR;
MCUSR = 0;
if (!my_run_bootloader_check() || !(ch & _BV(EXTRF))) appStart(ch);
You should be careful that your check does not do much chip configuration beyond the reset state.
I want add few hundreds bytes of code, placed before the actual optiboot show starts (no impact on the optiboot). The stuff compiles about 670bytes today, it will grow.
Q: provided my code works fine, is the only thing to consider the change of the fuses (to 512 words) and its starting address in boards.txt, or shall I be aware of something other as well?
You'll also need to change the --section-start setting(s) in the optiboot Makefile, and the max sketch size in boards.txt If your code is 670 bytes, and optiboot is 500 bytes, then a 1k bootloader space won't be enough.