The question comes in two parts, the second being a followup question:
I'm really after basic advice on workflow and project structuring.
1) that's a strange question considering you prefaced it by saying you want to keep everything in flash. so yes, given that requirement (ie, you want to put everything, if possible, in flash), put all your code inside flash.
2) you need to scope everything. there's no problem (from flash/exportJS) spreading code over different frames/layers, if that's what you want to do. you probably just need to be more careful with your scoping if think code in one layer won't recognize functions in another layer. ie, in your top layer, use:
var tl = this;
// and then use tl to reference the main timeline in your functions (and elsewhere).