If you can address a 16-bit quantity, then you can definitely read 16-bit aligned quantities. I think you are probably assuming that you will have a byte addressable address space. You may not, so caution is advised. It is definitely conceivable that some architectures (particular embedded ones) may not be byte or even 16-bit addressable -- although I don't know specific (and current) examples.
Does that actually matter? If you happen to have a machine that is word addressable, with a 32-bit addressable word size, then you could never actually address only 16 bits anyway. Be careful with sizeof, though.
You asked about the amd64 (x86-64). It has no restriction on memory aligned access, but you may lose cycles for misaligned access. Keep in mind that misaligned accesses are never going to be portable.
UPDATE: What is an aligned address?
An aligned address of type T is any address that is a multiple of sizeof(T), where sizeof(T) is the number of addressable units the value occupies. For example, if you have a 32-bit word size in a byte addressable space, the aligned addresses are at least every multiple of 4. However, if the machine is addressable in 16-bit units, then every address that is a multiple of 2 will be an aligned address for 32-bit quantities.
If you are reading 16-bit quantities, there are three cases:
- Byte addressing: odd addresses are potentially misaligned. An architecture is free to treat these as aligned, but does not have too.
- Addressable units are 16-bit: all addresses are align for 16-bit quantities.
- Addressable units are larger: you don't actually have 16-bit quantities. They are silently larger.
UPDATE 2: Is there a CPU were reading 16 bits from address 0x2 (assuming that address range is valid) would give a bus error?
There cannot ever be such a CPU, unless the addressable unit is below 8 bits. The reason is that the alignment of address 0x2 is 2 addressable units. If the addressable unit is 8-bits, then it is 16-bit aligned.
In addition, strange values for the addressable unit size are ruled out by the intention of 16 bits. If 16 bit values are real quantities of the architecture, the the addressable unit must be a factor of 16. So it could only be 1, 2, 4, 8, or 16 bits. If it happens to be higher, the alignment is trivially satisfied.
Since an architecture that addresses less than 8 bits is not worth the trouble, you are all but guaranteed that the address 0x2 will be an aligned address for 16 bit quantities.