static_new and static_delete
I still have trouble understanding how the whole works, but there are still some small things that could be improved:


In your comments, you say that A is an integer type used as a bitmask. The safest bitmask types are unsigned types or std::bitset. You should make this condition clear in your code, write

  template &lt;typename T, typename BitmaskType=unsigned&gt;
  struct static_store { /* ... */ };


You could even make it an error to use a nonconforming type and create a is_bitmask trait, which would allow you to create a meaningful error message:

static_assert(is_bitmask&lt;BitmaskType&gt;::value,
              "the BitmaskType requirements are not satisfied");

I got confused with these lines:

template &lt;typename T, typename ...A&gt;
inline T* static_new(A&amp;&amp; ...args)


It is once again a naming problem: I had in mind the template parameter A from static_store. Since it represents arguments to be forwarding, you should just use the common convetion and name it Args instead. I don't know whether there are written guidelines to name variadic parameter packs, but Args is probably the name that I saw the most often.
You could probably slightly hide details and reduce the visual burden by using a typedef for the type of store_:

using store_type = typename ::std::aligned_storage&lt;sizeof(T), alignof(T)&gt;::type;