Sure it will be nice, but for what is that needed for? I'm not getting it clearly from your first sentence.
There are quite a few cases when it would be extremely convenient to have those features.
The most common case is when a Windows structure has changed and Windows relies on the size to determine what to return (fill in). If a program can use sizeof(<record>, <record field>) then fields added later don't affect how the code works. IOW, the layout of the record can be updated without causing any potentially damaging side effects in existing code that uses that record.
Another case, less common, there are some programs that need to determine offsets and fields sizes at runtime, e.g, debuggers. Without, OffsetOf and/or sizeof(<record>, <field>) writing the code is very laborious and tedious not to mention that maintaining the code becomes difficult.
Another case is when translating C headers. In C, using the macros that are already in the headers, it is straightforward to create (even generate) a program that lists all the records along with their fields, including the field offset and size. Doing that in Delphi/FPC is laborious and tedious, thereby making the verification that the translation is correct also tedious and time consuming.
OffsetOf(<record>, <field>) and sizeof(<record>, <field>) would _really_ make life _much_ simpler in a number of important cases.