A form ID is an unsigned long identifier assigned by creators or the engine to every object in games using the Gamebryo engine (like Fallout 3, Fallout: New Vegas, and Fallout 4.). This includes items, NPCs, quests or parts of the world like a sign on a wall or the wall itself. There are two types of Form IDs: Base IDs and Reference IDs (usually shortened to Ref IDs).
Base ID is the number assigned to a template for an object that is used to create many instances of that object. For example all bottle caps in the game have exactly the same Base ID. This ID is used in scripts or console with commands that create new instances of object, like additem or placeatme.
The Base ID can be obtained with the G.E.C.K.. To do so, the .esm file containing the object (for base Fallout 3
Fallout3.esm, for Fallout: New Vegas
FalloutNV.esm) must be opened in the editor and the appropriate category be selected. Expanding the "Form ID" column (between "Editor ID" and "Count") will reveal the Base ID. It is not possible to obtain the Base ID of an object ingame without using mods such as FOSE (Fallout Script Extender).
It is possible, however, to find out the Base ID of objects in Fallout 4 by using the "help" console command.
The Reference ID is the unique ID of an individual object in the game space (unlike the Base ID, which is an ID for an object template). For example, all the bottle caps created from same Base ID will have different reference IDs. This ID is used to manipulate existing objects with commands like kill, moveto, or prid, for example.
Any item that is not created by pre-defined game module data (either original or from mods) will have reference ID starting with FF to indicate that this item belongs to this particular save game. It is for dynamically generated items, like loot from containers, random encounters or trader's wares.
Load order of modules (ESMs and ESPs) will affect the ID number of modules. The first two digits of an ID number corresponds to its load order (in hexadecimal, like the rest of the number). One must use a utility like FO3Edit to ascertain the load order of a module. The load order ID of the top-level master module (such as Fallout3.esm, FalloutNV.esm, or Fallout4.esm) is always 00, as it will always be the very first module to load. The ID number series in the FF (decimal equivalent: 255) range is reserved by the game engine for objects dynamically created and saved in the gamesave file (such as PlaceAtMe'd objects, projectiles, dropped inventory, or list-spawned actors).
According to the layout of this system, the maximum number of additional modules that can be loaded by the game is 254 (256 load order ranges, - 1 for the Savegame FF range, - 1 for the always-mandatory top-level master ESM). Each add-on, official or otherwise requires a single module space.