To check I understand the problem correctly, your concern is that you have repeated the definition of the table in the Given and Then steps of one scenario (i.e. you aren't running 100 similar scenarios that all require the same table set up).
It looks like what you have is fine.
Consider what would happen if the UI required a small amount of data transformation. e.g.
Given I am logged in as "Admin" user
And There exists following users
| Username | First name | Last Name | Registration date |
| alice | Alice | Wonderland| 2013-10-28 |
| bob | Bobby | Tables | 2013-10-27 |
When I go to all users page
Then There should be following users in table
| Username | Full Name | Registration date |
| alice | Alice Wonderland | 2013-10-28 |
| bob | Bobby Tables | 2013-10-27 |
This scenario is clear and you couldn't save any space here.
By repeating the table exactly, as you have done, you are making it clear in your test/living documentation that what you see on the page should exactly match the data representation in memory. This is worth expressing in the test.
Other options that could save some space:
Given I am logged in as "Admin" user
And there exists the following users
| Username | First name | Last Name | Registration date |
| alice | Alice | LAlice | 2013-10-28 |
| bob | Bob | LBob | 2013-10-27 |
When I go to all users page
Then I should be able to see all the users
This is not very clear, and requires setting up the Then step to either share data with the Given step, or to actually query the mock data context itself (a very bad plan, because the test could pass for the wrong reason).
If you're asking if there is anything line C++'s #define
keyword to set up a reusable multiline string const - there isn't, to my knowledge, and if there were, you shouldn't use it for the reasons of clarity above.
In conclusion - I like your test just the way it is. :)
---- edit ---- Afterthought:
Tests should fail for exactly one reason. Arguably, your test is testing "the table data is exactly right."
But sometimes you just want to test something simpler. E.g.
Then user 'alice' should appear in the users table