Need mechanism to pass defines to library cpp files

What you want can be achieved, however is it necessary.

Do the new features add overhead even when unused?
Or will the methods have alternate functionality depending on the value of ENTROPY_FLOAT?

If you want the functions unavailable, you could simply add this to your header.

#ifndef ENTROPY_FLOAT
  #ifdef ENTROPY_FLOAT_COMPILE
	#define ENTROPY_FLOAT  //Include for compilation, sketch must define to use.
  #endif
#endif

And modify the .cpp

#include <Arduino.h>
#define ENTROPY_FLOAT_COMPILE
#include <Entropy.h>

This way, the library is compiled with full functionality, and the sketch will only see the float functions if they explicity add #define ENTROPY_FLOAT. The compiler should be able to remove the unused pieces.

If you want to prevent compiling of the float features altogether, that can still be achieved.