Well if your images are sized around 9000x6000 pixels then i think cutting them into custom tiles is your only option.
I think trying to use a GroundOverlay would be a bad idea and you'd likely end up with out of memory errors.
So let's assume you'll display your images as an opaque or semi-transparent cutom tile layer.
Cutting an image into tiles and ending up with correctly named tiles that cover the correct corresponding point on the earth - ensuring that the image is accurately mapped to a geographical bounds on the earth - requires tile cutting software as well as knowing the exact bounds of the earth that the image covers.
https://www.google.co.uk/search?q=map tile cutter&ie=UTF-8&oe=UTF-8
You'll have to do some research and find a tool that works for you.
Once you have a set of custom tiles and are ready to display those tiles in OSMDroid post again and i'll help more.
Just an idea: Once you have your tiles you could convert them all into BLOBs and use an SQLite database to store them.
Have a read of this thread:
http://www.b4x.com/android/forum/threads/google-maps-android-v2-tutorial.24415/page-22#post-235553 and search Google for info about
MBTiles.
I've not yet wrapped the OSMDroid code that supports MBTiles but it can be done.
Martin.