How to clear space after deleteing rows I am maxed out on a DB in SQL Express 10GB.

I deleted rows of approx 2.5G in size. In report I can see number of rows is much lower. But "Data" is still the  same. I am happy about Reserved remaining 10G, but I am unable to insert new rows.

I read that shrinking is not necessary if table will grow again, BUT how do I tell SQL Server that it now has space to use again?
Your problem is you were deleting from a heap, i.e. your table has no clustered index, so the space was not released, you could solve this in follow ways as described here: DELETE (Transact-SQL)


  When rows are deleted from a heap the Database Engine may use row or
  page locking for the operation. As a result, the pages made empty by
  the delete operation remain allocated to the heap. When empty pages
  are not deallocated, the associated space cannot be reused by other
  objects in the database. To delete rows in a heap and deallocate
  pages, use one of the following methods. 



Specify the TABLOCK hint in


  the DELETE statement. Using the TABLOCK hint causes the delete
  operation to take an exclusive lock on the table instead of a row or
  page lock. This allows the pages to be deallocated. For more
  information about the TABLOCK hint, see Table Hints (Transact-SQL).




  



Use TRUNCATE TABLE if all rows are to be deleted from the table.



  



Create a clustered index on the heap before deleting the rows. You
can


  drop the clustered index after the rows are deleted. This method is
  more time consuming than the previous methods and uses more temporary
  resources.




  
  Note
  
  
  Empty pages can be removed from a heap at any time by using the ALTER
  TABLE  REBUILD statement.


So what you can do now is rebuild the table into another database as you have no space in current database. And then create a clustered index on it to avoid the same situation in future