The reason is likely that pointers are supposed to be already aligned, since a pointer can refer to any size. If you need to align them "by hand" you aren't using them in the way they are supposed to be used
Going with the FB lineage, the reason is probably 'because you can't do it in C'. And in that land, you can't treat pointers as integers because the content of a pointer might not be linear memory addresses. Far pointers in dos and C++ member function pointers as examples of that