Naturally. The organization would work however you want it to work, since you'd be rolling your own MMU (or adapting an existing one) in any case; all the CPU cares about is that it gets instructions when it asks for instructions, and data when it asks for data.
THOR, Phil and others will tell u that on the Amiga there is no clear delineation between code and data.
1. Any data could suddenly be run as code.
2. Any code could suddenly be used as data.
I am sort of morally opposed to #2 but oh well. Ppl do it. They say they have good reasons. C'est la vie.
Legally u can do both as long as u flush the caches correctly. That is the trick.