Hi,
don´t worry about the software data sizes - in case the memory (and/or FlexBus) controller is correctly configured for the device attached, the physical data size is completely transparent.
With the 16-bit mDDR connected to the memory controller and the controller set up correctly for DDR operation and non-shared bus, the device shows up as a contiguous 32MB memory region. (As the device in our "example" is of size 256MBit.) The actual transfers to and from the SDRAM are done in bursts anyways, so there are always more than 32 bits transferred in one burst, all this is also handled transparently by the cache logic.
The only place where you may have to take care is when you use the FlexBus to support several different data sizes (8 and 16 bit mixed in this case, 32 bit is only possible in shared bus mode with SDR-SDRAM devices). Depending on the hardware and setup, you then have to take into account reading on even or odd addresses only and then assembling the values yourself - but again, this is only necessary when the physical data size of the device is not matched to the bus size the controller is configured for, everything else is handled by processor-internal logic transparently.
Hope to help,
Wolfgang