a) in Delphi mode they are already automatically activated in current trunk, in Objfpc mode you have to add the modeswitches manually.
b) yes, many, see the release notes for the features in
https://wiki.freepascal.org/FPC_New_Features_Trunk#Support_for_Function_References_and_Anonymous_Functions and follow the commit. I don't remember the particular tests from memory.
Both features are Delphi compatible. (near, but not 100%, explained in the feature announcement)
There are also some examples in the wiki, like the third example in the smartpointers subject (which I wrote) but there are more. Also many examples on the forum.
Simple example:
{$mode delphi}
uses sysutils,classes;
var
List:TStringlist;
i:integer;
begin
List := TStringlist.Create;
AddExitProc(procedure begin list.free;end);// anonymous
for i := 0 to 9 do List.Add(i.ToString);
writeln(list.text);
readln;
end.
In general, in mode Delphi, almost everything, if not all, works for both features, but read the announcement.
All examples from Barry Kelly - former Delphi compiler engineer - work for example. As do all of the examples regarding the two features from the public repository from Embarcadero.