@dissectcode
It sounds like you're describing some sort of debugger: you type in an address and it prints out the contents of that address. If so, then I don't see why you need to worry about endianness -- simply cast the address to the appropriate pointer type and dereference the pointer.
In my experience, the only times when I needed to worry about endianness were:
1. Reading or writing a data file that might be used by many platforms. In this case it was important to specify the endianness of the data file so each platform could properly access it.
2. Reading or writing a message stream that might be used by many platforms. In this case it was important to specify the endianness of the message so each platform could properly access it.
3. PCI accesses. The PCI standard specifies the endianness of the memory-mapped I/O, so the platform has comply with that endianness even if it does't match the native endianness of the processor.
4. Interpreting panic dump printouts. [Now I'm showing my age -- does anybody still have to deal with these?]
The common thread here is that endianness only needs to be explicitly taken into account when information is passed between platforms that might have different native endianness.